redis使用场景-缓存-数据淘汰策略20241007

数据淘汰策略-使用建议

1.优先使用allkeys-lru策略。

充分利用LRU算法的优势,把最近最常访问的数据留在缓存中。

如果业务有明显的冷热数据区别,建议使用。

2.如果业务中数据访问频率差别不大,没有明显的冷热数据区别,建议使用allkeys-random,随机选择淘汰。

3.如果业务中有置顶的需求,可以使用volatile-lru策略,同时置顶数据不设置过期时间,这些数据就一直不被删除,会淘汰其它设置过期时间的数据。

4.如果业务中有短时高频访问的数据,可以使用allkeys-lfu,volatile-lfu策略。

关于数据淘汰策略其他的面试问题

1.数据库有1000万数据,Redis只能缓存20w数据,如何保证Redis中的数据都是热点数据?

使用allkeys-lru(挑选最近最少使用的数据缓存)淘汰策略,留下来的都是经常访问的热点数据

2.Redis的内存用完了会发生什么?

主要看数据淘汰策略是什么?如果是默认的配置(noeviction),会直接报错。

总结

数据淘汰策略

1.Redis提供了8种不同的数据淘汰策略,默认是noeviction不删除任何数据,内存不足直接报错。

2.LRU:最少最近使用。

用当前时间减去最后一次访问时间,这个值越大则淘汰优先级越高。

3.LFU:最少频率使用。

会统计每个key方访问频率,值越小淘汰优先级越高

平时开发过程中用的比较多的就是allkeys-lru(结合自己的业务场景);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值