目录
一、引言
二、介绍
三、操作
1.HSET,HGET,HEXISTS,HDEL
2.HKEYS,HVALS
3.HGETALL,HMGET,HSAN
4.HLEN,HSETNX,HINCRBY,HINCRBYFLOAT
四、编码方式
1.ziplist(压缩列表)
2.hashtable(哈希表)
五、使用场景
1.作为缓存(结构化的数据)
六、总结
一、引言
本篇文章就Redis的value的类型,哈希类型做简单介绍。
二、介绍
由于Redis中本身的key-value就是哈希形式的,所以value又是哈希,就表示两个哈希进行嵌套。value中的映射关系统称为field-value而不是key-value。
三、操作
1.HSET,HGET,HEXISTS,HDEL
HSET KEY FIELD value[field value]
HGET KEY FIELD
HEXISTS:判断是否存在,1代表存在,0代表不存在
HDEL:删除hash中的指定字段
del删除的是key,hdel删除的是field
HDEL key field[field..]
2.HKEYS,HVALS
HKEYS:获取所有的value
HVALS:获取哈希中的所有value
3.HGETALL,HMGET,HSAN
HGETALL将上面的HKEYS和HVALS结合起来
HMGET:一次查多个field
HSAN:遍历redis的hash,但是它属于渐进式遍历
4.HLEN,HSETNX,HINCRBY,HINCRBYFLOAT
HLEN:获取个数
HSETNX:hsetnx key field value:不存在才进行设置
HINCRBY:对value进行加减操作
四、编码方式
1.ziplist(压缩列表)
ziplist进行读写元素的速度是比较慢的,如果元素多了就使用哈希表,如果哈希表中元素少用ziplist,value的值比较短,用ziplist
2.hashtable(哈希表)
元素个数多使用hashtable,value的值比较长,使用hashtable
五、使用场景
1.作为缓存(结构化的数据)
需要存储一个用户的电话,姓名,邮箱,地址等等,这时候使用hash这样的结构来存储就方便许多了。(追求高内聚低耦合)
六、总结
本篇文章简单介绍了Redis中的value是哈希属性的特点,下一篇文章将介绍value的是list类型的特点,感谢观看!