命名约定和Redis密钥的有效字符

时间:2015-05-16 04:22:09

标签: redis

我想知道哪些字符在Redis密钥中被认为是有效的。我用谷歌搜索了一段时间,找不到任何有用的信息。

与Python类似,有效变量名应属于类[a-zA-Z0-9_]。 Redis密钥有哪些要求和约定?

1 个答案:

答案 0 :(得分:87)

部分内容已经回复here,但这并不完全重复,因为您要询问允许的字符和约定。

至于Redis键中的有效字符the manual explains this completely

  

Redis键是二进制安全的,这意味着你可以使用任何二进制序列作为键,来自像#34; foo"到JPEG文件的内容。空字符串也是有效密钥。

     

关键的一些其他规则:

     

很长的密钥不是一个好主意,例如1024字节的密钥不仅是内存方面的坏主意,而且因为在数据集中查找密钥可能需要几次昂贵的密钥比较。即使手头的任务与大值的存在相匹配,采用散列(例如使用SHA1)也是一个更好的主意,特别是从内存和带宽的角度来看。

     

非常短的键往往不是一个好主意。写作没有什么意义" u1000flw"作为一个关键,如果你可以写#34;用户:1000:粉丝"。与密钥对象本身和值对象使用的空间相比,后者更具可读性,并且添加的空间较小。虽然短按键显然会消耗更少的内存,但您的工作就是找到合适的平衡点。

     

尝试坚持使用架构。例如" object-type:id"是一个好主意,如" user:1000"。点或短划线通常用于多字词字段,如"评论:1234:reply.to"或者"评论:1234:回复"。

     

允许的最大密钥大小为512 MB。