Redis哈希

简介

  • Redis hash 是一个键值对集合
  • Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map

常用命令

  • 向Hash中添加元素

    hset key field ...
  • 获取集合中元素field对应的值

    hget key field
  • 批量添加field

    hmset key <field1> <value1> <field2> <value2> ...
  • 判断hash表中的某个field是否存在

    hexists  
  • 列出hash集合中的所有field

    hkeys key
  • 列出hash集合中的所有value

    hvals key
  • 为hash集合中的某个field进行加法操作(可以为负数)

    hincrby key <field> numValue
  • 将hash表中的指定field的值设置为value,仅当field不存在

    hsetnx <key> <field> <value>

数据结构

  • Hash类型对应的数据结构是两种:ziplist(压缩列表),hashtable(哈希表)。当field-value长度较短且个数较少时,使用ziplist,否则使用hashtable