面经
#晒一晒我的offer# 对于redis为什么快,什么单线程,什么基于内存,什么io多路复用!我感觉都是比较浅层次的,经不起敲打,我感觉redis真真快的还是因为内部的渐进式rehash和缓冲时间戳
全部评论
没有听过的知识增加了呜呜,渐进式rehash是哈希扩容的时候使用两个哈希表的那一套嘛?和速度有啥关系咩
我觉得redis高性能基于内存,序列化协议简单,单线程(不用加锁很关键!!)
你感觉是不对的
渐进式rehash一个小的因素吧,只是对优化的一个小部分。
多路复用解决连接数量问题,单线程去处理事件,哈希表结构用来提升查找速度,然后单线程来操作,渐近哈希表只是一个小的优化点。
redis源码设计中,我感觉可能是围绕利用内存和尽量不出现任何阻塞的操作。如五种常见类型的底层编码主要分为连续存储和随机存储,比较少的情况下都会用连续存储,此时cpu读取效率很高。而减少阻塞体现在,aof重写和rdb都是fork创建进程加上cow写时复制优化,aof好像还是使用到了管道优化。
相关推荐
11-07 15:09
湖北工业大学 Java DRIFT202403141251379:后面几句我能不能理解为key不会立刻被gc所以这段时间内value是泄露的,但因为key是弱引用所以很快会被gc,一定程度上缓解了泄露问题
点赞 评论 收藏
分享