如何使用base64编码减少memcached密钥大小?

时间:2014-06-04 12:50:09

标签: encoding key memcached base64 libmemcached

Here你可以阅读:

  

64位UID是识别用户的聪明方法,但在打印时很糟糕   出。 18446744073709551616.20个字符! 使用base64编码,或   即使只是十六进制,你可以减少相当多的   块引用

但据我所知,如果使用 Base64 进行编码, 18446744073709551616 会产生更大的字符串。我知道我错过了一些东西,因为那些memecached的人很聪明,而且他们在文档中提到不止一次使用 Base64 编码可以使用它来改进密钥,然后将其存储到memcahed中。那怎么样?

2 个答案:

答案 0 :(得分:1)

您正在查看的内容基本上是64位的十进制表示。他们可能正在讨论将底层位直接编码为Base64或hex,而不是编码位的十进制表示。他们基本上只是谈论字母大小。字母表越大,字符串越短:

64位作为位(2的字母,01)是64个字符
作为十进制的64位(10的字母,0 - 9)是20个字符
64位为十六进制(16位字母,0 - F)为16个字符
等...

答案 1 :(得分:-1)

不要像字符串一样威胁UID,而是使用64位数字表示。它需要64位或8个字节。使用十六进制编码8个字节将导致字符串如“FF1122EE44556677” - 16个字节。使用base64编码,您将获得更短的字符串。