摘要: Redis本身就是一个大字典,当我们使用keys命令查找这个大字典时,它会遍历整个redis,如果找到了符合匹配条件的key,还需要判断key指向的对象是否已经过期,如果过期了就需要进行删除操作。 字典拓容时需要进行渐进式hash,此时存在新旧两个hashtable,需要先遍历old hashtab 阅读全文
posted @ 2022-01-24 22:14 长江同学 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 【最初的尝试与性能下降】Redis作者在最初的尝试是在主线程中使用类似字典渐进式搬迁的方式来实现渐进式删除回收,这样可以达到删除大对象时不阻塞主线程的效果。但是渐进式回收需要仔细控制回收的频率,不能回收的太猛,这会导致CPU占用过多,也不能回收太慢,因为内存回收不及时可能导致内存消耗持续增长。但是这 阅读全文
posted @ 2022-01-24 21:33 长江同学 阅读(155) 评论(0) 推荐(0) 编辑