Redis Keys
对于 Redis 键中的有效字符,本手册完全解释了这一点 :
Redis 键是二进制安全的,这意味着你可以使用任何二进制序列作为键,从
foo
这样的字符串到 JPEG 文件的内容。空字符串也是有效键。
关于键的一些其他规则:
非常长的密钥不是一个好主意,例如 1024 字节的密钥不仅是内存方面的坏主意,而且因为在数据集中查找密钥可能需要几次昂贵的密钥比较。即使当前的任务是匹配大值的存在,使用散列它(例如使用 SHA1)也是一个更好的主意,特别是从内存和带宽的角度来看。
非常短的键往往不是一个好主意。如果你可以改写“user:1000:followers”,那么将
u1000flw
写为关键字几乎没有意义。后者更易读,与密钥对象本身和值对象使用的空间相比,增加的空间较小。虽然短按键显然会消耗更少的内存,但你的工作就是找到合适的平衡点。
尝试坚持使用架构。例如,“object-type:id”是一个好主意,如“user:1000”。点或短划线通常用于多字词字段,如“comment:1234:reply.to”或“comment:1234:reply-to”。
允许的最大密钥大小为 512 MB。
对生产系统使用 KEYS 命令时要小心,它可能会导致严重的性能问题。如果需要对键空间进行搜索, SCAN 命令是更好的选择。