Redis支持哪些不同的密钥类型?文档提到了Redis支持的所有各种类型(字符串,集合,散列映射等),但我无法安静地找到密钥类型信息。
答案 0 :(得分:8)
来自redis文档(Data types intro):
Redis键
Redis键是二进制安全的,这意味着你可以使用任何二进制序列作为键,从像“foo”这样的字符串到内容 一个JPEG文件。空字符串也是有效键。其他一些 关键的规则:
- 很长的钥匙不是个好主意。例如,一个1024字节的密钥不仅是内存方面的坏主意,而且还因为 查找数据集中的密钥可能需要几个代价 键比较。即使手头的任务是匹配的 存在一个大值,哈希它(例如用SHA1)是一个 更好的主意,特别是从记忆和角度来看 带宽。
- 非常短的钥匙往往不是一个好主意。如果您可以改为写作,那么将“u1000flw”写为关键点几乎没有意义 “用户:1000:追随者”。后者更具可读性并且增加了 与关键对象本身使用的空间相比,空间较小 和价值对象。虽然短按键显然会消耗一点 记忆越少,你的工作就是找到合适的平衡点。
- 尝试坚持使用架构。例如,“object-type:id”是一个好主意,如“user:1000”。点或短划线通常用于多字 字段,如“评论:1234:reply.to”或“评论:1234:回复”。
- 允许的最大密钥大小为512 MB。
根据我的经验any binary sequence
通常意味着String
,但我可能不熟悉您可以通过使用其他数据类型实现此目的的语言。
答案 1 :(得分:3)
Redis中的密钥都是字符串,因此将哪些值传递给客户端并不重要。在引擎盖下使用RESP协议,它将值作为字符串传递给引擎。
示例:
some_key
3
始终是一个字符串,即使您将response
作为键传递,也会将其作为字符串处理。这对每个客户都是如此。