要存在 redis 中,谢谢各位大佬~
1
jim9606 2020-11-20 16:21:27 +08:00 1
存成一个 64 位整数。
极限可以用 34 位整数,不过我觉得没必要。 |
2
zooo 2020-11-20 16:31:04 +08:00
哈夫曼编码?
|
3
wysnylc 2020-11-20 16:32:46 +08:00
数字压缩???????
|
4
imn1 2020-11-20 16:41:50 +08:00
头三位没几个,5bit 都够用了,后面的也是按 bit,但这样压实用麻烦啊,业务逻辑弱
|
5
Maboroshii 2020-11-20 16:44:00 +08:00
没必要吧,可以根据需求预估一下占用内存大小
|
6
xiangyuecn 2020-11-20 16:51:06 +08:00
19999999999 -> 96rherj
36 进制,只需 7 字节 比 long 省 1 个字节😂 |
7
codyfeng 2020-11-20 17:07:46 +08:00 via Android
存一个 int64 不能支持其他国家的号码。
|
8
66450146 2020-11-20 17:49:24 +08:00
不要考虑空间效率了,安心存字符串吧,存成整数容易遇到业务上的问题……
|
9
exciting OP 最后选用 64 位了
|
12
shenqi 2020-11-20 18:25:59 +08:00
0-9a-zA-Z, 这里面已经能达到 52 个字符,简单点弄个 52 进制,
难的,把所有的单字符都用上,例如标点符号各种,一个字符进制加 1,如果你又 19999999999 个字符,那这个你就能到长度 1 了。 (这个映射长度也 19999999999,有点。。。) |
13
CEBBCAT 2020-11-20 18:31:42 +08:00 via Android
几亿用户啊这是
|
14
sujin190 2020-11-20 18:33:50 +08:00
8 字节可以满保存 19 个数字了吧,就算给国家三位代码也戳戳有余了吧,有哪个国家的电话号码有 16 位那么长的么?这么长似乎也记不住的吧
|