Redis默认内存,
1、查看Redis内存大小,通过查看配置文件maxmemory,
2、redis默认内存是多少,最大物理内存的四分之三,
3、如何修改redis内存设置,
修改文件配置,
config set maxmemory,
config get maxmemory,
4、查看 info memory
redis内存淘汰策略,如何淘汰的
在下面架构设计之前,有三种不同的淘汰策略,
定时删除,对CPU不友好,用处理器性能换取存储空间,CPU比较繁忙
惰性删除,数据到达过期时间,不做处理,等下次访问该数据时,如果未过期,返回数据,发现已过期,删除,返回不存在。对内存不友好,如果一个键已经过期,而这个键又仍然保留在数据库中国,那么只要这个过期键不被删除,它所占用的内存就不会被释放。CPU不那么忙了,但是空间浪费了,对内存不友好。
定期删除,折中方式,两种策略综合,定期删除,每隔一段时间执行一次删除过期键操作,随机抽取进行检查删除。
周期性轮询redis库中时效数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频度。
定期删除的难点是确定删除操作执行的时长和频率
Redis6.0.8版本,八种缓存淘汰策略
noeviction:不会驱逐任何key
allkeys-lru对所有key使用LRU算法进行删除
volatile-lru对所有设置了过期时间的key使用lru算法进行删除
allkeys-random对所有key随机删除
volatile-random:对所有设置了过期时间的key随机删除
volatile-ttl删除马上要过期的key
allkeys-lfu对所有key使用LFU算法进行删除
volatile-lfu对所有设置了过期时间的key使用LFU算法进行删除
两个维度,对过期键中筛选,对所有键中筛选
四个方面,LRU,LFU,random,ttl
一般常用的是allkeys-lru
redis的lru算法,Least Recently Used缩写
本质就是HashMap+DoubleLinkedList 哈希表+双向链表的结合体