问题: Redis引用计数进行内存回收,怎么解决循环引用问题描述:redis用引用计数法的技术实现了内存回收。但是引用计数法的一个致命弱点就是,如果遇到循环引用,那么循环引用的对象将永不被回收。因此造成内存泄露。...
问题: Redis引用计数进行内存回收,怎么解决循环引用
问题描述:redis用引用计数法的技术实现了内存回收。但是引用计数法的一个致命弱点就是,如果遇到循环引用,那么循环引用的对象将永不被回收。因此造成内存泄露。所以JVM摒弃这个内存回收技术,采用根路径可达算法。那么Redis是怎么解决引用计数的循环引用问题的呢?
解答:待解决
分析:
问题:Redis哈希对象ziplist编码怎么实现哈希的特征——O(1)效率的基本操作
问题描述:Redis中哈希对象有两种编码方式,分别是ziplist、hashtable方式。哈希对象,总得体现哈希算法,使得基本操作达到O(1)的效率。hashtable编码方式使用字典,也即是Java中hashMap的方式,这个我可以理解。但是,ziplist方式所有元素都是紧挨的,它是怎么实现hash,并使得查询等操作有O(1)的时间效率的呢?
解答
使用ziplist编码方式的哈希对象不能实现O(1)复杂度的基本操作,而是通过遍历来查找元素。不过,ziplist编码方式只有在所有键值长度小于64字节,且哈希对象保存的键值对数量小于512个时才使用,因此,它对效率的影响并没有想象中的那么大。
分析
以上问题和解答只是我个人在学习Redis过程中的思考,若有不对的地方,希望大家能够予以纠正。如果大家对这些问题有解决思路和不同的看法也请留言说明,我会采纳并更新到正文,谢谢!
本文标题为:Redis学习问题记录——持续更新中
基础教程推荐
- Mysql主从三种复制模式(异步复制,半同步复制,组复 2022-09-01
- 关于MySQL中explain工具的使用 2023-07-27
- SQLServer 清理日志的实现 2023-07-29
- python中pandas库的iloc函数用法解析 2023-07-28
- Mysql查询所有表和字段信息的方法 2023-07-26
- 【Redis】数据持久化 2023-09-12
- Redis如何实现延迟队列 2023-07-13
- 如何将excel表格数据导入postgresql数据库 2023-07-20
- Python常见库matplotlib学习笔记之多个子图绘图 2023-07-27
- Sql Server Management Studio连接Mysql的实现步骤 2023-07-29