美文网首页
redis-hash

redis-hash

作者: zhangsanzhu | 来源:发表于2018-12-29 09:33 被阅读0次

hash 字典

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

区别:

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

  • 构建新的rehash结构,保留新旧两个hash结构,然后后续的定时任务及hash操作将旧的内容移动到新的hash结构中,最终新的hash取代老的结构.
  • 当 hash 移除了最后一个元素之后,该数据结构自动被删除,内存被回收。

原理

长度小于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

相关文章

  • redis-hash

    hash 字典 类似于java中的hashmap,数组加链表,碰撞进链表 区别: rehash过程不同,redis...

  • Redis-hash类型数据实现购物车

    业务分析 仅分析购物车的redis存储模型,添加、浏览、更改数量、删除、清空 购物车与数据库间持久化同步(不讨论)...

网友评论

      本文标题:redis-hash

      本文链接:https://www.haomeiwen.com/subject/cafulqtx.html