视频课程
小黑屋思过中,禁止观看!
评论并刷新后可见

您需要在视频最下面评论并刷新后,方可查看完整视频

视频课程
立即观看
付费视频

您支付费用,方可查看完整视频

¥{{user.role.value}}
课程视频
开始学习
会员专享

视频合集

Redis内存回收底层源码实现剖析

  • 课程笔记
  • 问答交流

之前我讲过JVM的内存回收机制,同样Redis也有内存回收的问题,而且同样重要,无论是实际线上调优还是面试,都需要重点掌握。

为了助大家掌握好Redis内存回收,这节课我会结合Redis源码与实操,重点讲解以下5点:

1.Redis内存统计方式

2.Redis内存统计实操

3.Redis内存回收机制

4.Redis内存淘汰策略

5.Redis过期策略源码剖析

这节课会涉及多个大厂面试必考点,需要重点掌握。

Redis内存统计方式

1.used_memory
已经使用了的内存大小

2.used_memory_rss

  • 该进程所占物理内存的大小
  • 操作系统分配给Redis实例的内存大小

3.mem_fragmentation_ratio
Redis内存回收底层源码实现剖析-mikechen

  • >1:表明有内存碎片
  • <1:正在使用虚拟内存
  • 案例:1.54:54%被内存碎片所消耗
  • 清理

config set  activedefrag yes
memory purge

4.mem_allocator
默认采用jemalloc

Redis内存回收机制

 
1.redisObject
Redis内存回收底层源码实现剖析-mikechen
2.引用计数

  • 创建一个对象时引用计数值会被初始化为1
  • 当对象被一个新程序使用时,引用计数+1
  • 当对象不在被一个程序使用时,引用计数-1
  • 当对象引用计数值变为0时,对象占用的内存释放

 3.共享对象

  • refcount>1
  • 服务器在初始化时,会创建10000个字符串对象
  • [0-9999]的整数对象池

Redis内存淘汰策略

 

评论交流
    说说你的看法