redis-hash

2018-12-29  本文已影响0人  zhangsanzhu

hash 字典

类似于java中的hashmap,数组加链表,碰撞进链表

区别:

rehash过程不同,redis是渐进式rehash策略.

原理

长度小于64使用ziplist,字符串占用空间小
长度大于64使用dict,dict占用空间比字符串大

例子:

> hset books java "think in java"  # 命令行的字符串如果包含空格,要用引号括起来
(integer) 1
> hset books golang "concurrency in go"
(integer) 1
> hset books python "python cookbook"
(integer) 1
> hgetall books  # entries(),key 和 value 间隔出现
1) "java"
2) "think in java"
3) "golang"
4) "concurrency in go"
5) "python"
6) "python cookbook"
> hlen books
(integer) 3
> hget books java
"think in java"
> hset books golang "learning go programming"  # 因为是更新操作,所以返回 0
(integer) 0
> hget books golang
"learning go programming"
> hmset books java "effective java" python "learning python" golang "modern golang programming"  # 批量 set
> hincrby user-laoqian age 1
(integer) 30
上一篇 下一篇

猜你喜欢

热点阅读