9.理解内存

1.内存消耗

9.理解内存

  • 内存消耗划分

9.理解内存

  • 碎片

9.理解内存

 

 

2.内存管理

9.理解内存

2.1内存回收策略

惰性删除+定时任务删除

2.2内存溢出控制策略

参考案例哈哈(正好用到了知识):

https://www.oschina.net/question/2312022_2304666#comments

9.理解内存

LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据。

 

3.内存优化

3.1redisObject对象

9.理解内存

9.理解内存

3.2缩减键值对象

  • 序列化

9.理解内存

  • 压缩

9.理解内存

9.理解内存

3.3共享对象池

9.理解内存

3.4字符串优化

9.理解内存

3.5编码优化

9.理解内存

此处列举笔者工作中的项目:

项目要存几十万个hash类型数据,用1000个相同类型hash实测了下(修改编码条件后debug reload即可),采用ziplist消耗内存95MB,采用hashtable消耗约150MB。

当然这是以牺牲操作耗时为代价:

9.理解内存

 

 

总结

9.理解内存