关注
Q8:
我们都知道Redis使用的是C语言来编写的,但是C语言并不支持垃圾回收机制,你能讲一下Redis的内存回收机制是怎样实现的吗?
A:
因为Redis中存取数据的都是对象,所以开发者在RedisObject里预留了一个字段叫refcount,类似于Java的引用计数法判断垃圾。在创建对象时,将其初始化为1,当遇到被程序使用时,会新增1,不被使用时会减小1,而当减小为0时,则进行回收,其生命周期相较于Java的垃圾回收机制简单不少,主要分为“创建对象”、“操作对象”、“释放对象”。另外,鉴于Redis的内存比较宝贵,因此还引入了另外一种机制(共享内存),类似于JVM中的StringPool,用于节省内存,防止创建**过多的相同数值的字符串**。
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 面试被问“你的缺点是什么?”怎么答 #
5352次浏览 85人参与
# 租房找室友 #
7847次浏览 53人参与
# 水滴春招 #
14938次浏览 170人参与
# 25届秋招公司红黑榜 #
238124次浏览 988人参与
# 入职第四天,心情怎么样 #
10991次浏览 56人参与
# 简历无回复,你会继续海投还是优化再投? #
48526次浏览 560人参与
# 机械人选offer,最看重什么? #
69058次浏览 449人参与
# 牛友们的论文几号送审 #
16001次浏览 500人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81338次浏览 496人参与
# 国企还是互联网,你怎么选? #
109105次浏览 852人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4639次浏览 27人参与
# 机械人,你的秋招第一份简历被谁挂了 #
125792次浏览 1925人参与
# 总结:哪家公司面试体验感最差 #
33256次浏览 169人参与
# 职场新人生存指南 #
198874次浏览 5499人参与
# 安利/避雷我的专业 #
62078次浏览 481人参与
# 读研or工作,哪个性价比更高? #
26035次浏览 356人参与
# 听劝,这个公司值得去吗 #
382308次浏览 1515人参与
# 参加完秋招的机械人,还参加春招吗? #
26699次浏览 275人参与
# 你觉得早上几点上班合适? #
61652次浏览 256人参与
# 如果重来一次你还会读研吗 #
155659次浏览 1705人参与
# 你们的毕业论文什么进度了 #
900510次浏览 8944人参与