美文网首页
Redis rehash

Redis rehash

作者: Ylm007 | 来源:发表于2020-06-22 22:21 被阅读0次
image.png
  • rehash分扩容和缩容,两个过程互斥
  • 交替使用h0和h1,来回搬迁,类似jvm的s1和s2
  • dict结构中的rehashidx默认-1,表示没有在扩容,当rehashidx>=0时,表示处于rehash中,rehashIdx表示当前扩容的桶;
  • 每次的增删改查都会检查当前是否需要rehash,如果达到临界点则需要扩容+迁移;如果没有达到临界点,但处于rehash中,则判断帮忙迁移一次;
  • 一次迁移一个桶,rehashIdx++,redis后台定时任务会在闲时帮忙一次迁移多个桶;
  • 新增时,帮忙后,会直插h1
  • 整个rehash过程类似hashMap的rehash过程,只不过map的rehashMap是一次完成的,redis采用渐进式rehash,因为redis的命令是单步执行,不会有并发冲突。hashMap需要防并发;
  • concurrentHashMap
  • 并行rehash

相关文章

  • 思考题

    1.java hashMap和redis map的rehash有什么区别? Java hashMap rehash...

  • 从零手写缓存框架(14)redis渐进式rehash详解

    redis 的 rehash 设计 本文思维导图如下: HashMap 的 rehash 回顾 读过 HashMa...

  • Redis:rehash

    Redis解决键冲突:使用的是链地址法 随着操作的不断执行, 哈希表保存的键值对会逐渐地增多或者减少, 为了让哈希...

  • redis rehash

    Add 如果不在rehash,加在0表如果在rehash,加到1表上 Delete 先删0表。如果在rehash,...

  • Redis rehash

    rehash分扩容和缩容,两个过程互斥 交替使用h0和h1,来回搬迁,类似jvm的s1和s2 dict结构中的re...

  • Redis笔记

    Redis核心技术与实战 rehash·装载因子(entry个数 除以 hash桶个数) 渐进式rehash·每处...

  • redis笔记

    数据结构 SDS 字典 index确定 渐进式rehash 为了缓解一次性rehash带来的性能问题,redis提...

  • redis rehash机制

    redis触发rehash条件 服务器目前没有在执行BGSAVE命令或者BGREWRITEAOF命令,并且哈希表的...

  • redis中的rehash?

    Redis中所有数据都有key-value,这是通过哈希表实现的,redis的字典数据结构保存了两张哈希表,采取了...

  • 转载:美团针对Redis Rehash机制的探索和实践

    转载:美团针对Redis Rehash机制的探索和实践 原链接:https://tech.meituan.com/...

网友评论

      本文标题:Redis rehash

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