问题: 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学习问题记录——持续更新中


基础教程推荐
- Windows10系统中Oracle完全卸载正确步骤 2023-07-24
- oracle19c卸载教程的超详细教程 2023-07-23
- oracle数据库排序后如何获取第一条数据 2023-07-24
- redis 数据库 2023-09-13
- Mariadb数据库主从复制同步配置过程实例 2023-07-25
- Java程序员从笨鸟到菜鸟(五十三) 分布式之 Redis 2023-09-11
- Python安装第三方库的方法(pip/conda、easy_install、setup.py) 2023-07-28
- Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法 2023-07-27
- SQL Server如何设置用户只能访问特定数据库和访问特定表或视图 2023-07-29
- redis乐观锁与悲观锁的实战 2023-07-13