Redis支持的密钥类型

时间:2017-09-18 16:46:09

标签: redis

Redis支持哪些不同的密钥类型?文档提到了Redis支持的所有各种类型(字符串,集合,散列映射等),但我无法安静地找到密钥类型信息。

2 个答案:

答案 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作为键传递,也会将其作为字符串处理。这对每个客户都是如此。