6. Redis数据类型-hash

redis中,哈希类型的也是键值对,而值本身又是一个键值对结构,形如value={{field1,value1}...{fieldN,valueN}}的Hashes基本看成java中的map,通过key value的形式保存数据。

1. 常用命令

 6. Redis数据类型-hash

 6. Redis数据类型-hash

6. Redis数据类型-hash 

6. Redis数据类型-hash

6. Redis数据类型-hash 

6. Redis数据类型-hash 

6. Redis数据类型-hash

6. Redis数据类型-hash 

  • hset hget hdel hgetall 用于操作的设置,获取,删除,获取全部key-value的操作。
  • hexists hlen 判断field是否存在以及获取field的数量。
  • hsetnx不存在的时候才进行设置
  • hincrby hincrbyfloat原子加操作
  • hkeys hvals 获取所有filed和所有value
  • hmget hmset 批量获取,设置

6. Redis数据类型-hash

 

2. 内部编码

a. ziplist: filed count < hash-max-ziplist-entries(512 by default)

b. hashtable: 无法满足ziplist的条件时。

 3. 应用场景

微信聊天消息记录:每个聊天室(群)可以是一个hash key,hash value的filed是用户ID,value是聊天内容。