redis过期策略和淘汰策略的区别
时间: 2023-09-12 17:09:45 浏览: 237
面试官:Redis 过期删除策略和内存淘汰策略有什么区别?.doc
Redis中的过期策略和淘汰策略是两个不同的概念。
过期策略指的是当Redis中的某个key过期时,Redis会如何处理这个key。Redis中有两种过期策略:
1. 定时过期:Redis会将过期的key放入一个独立的字典中,并在每次执行命令时,对字典中的一部分key进行检查并删除已过期的key。
2. 惰性过期:当某个key被访问时,Redis会检查这个key是否过期,如果过期则立即删除。
淘汰策略指的是当Redis中的内存不足时,Redis会如何淘汰一些key来腾出内存。Redis中有五种淘汰策略:
1. noeviction:不淘汰,直接返回错误。
2. allkeys-lru:从所有key中,选择最近最少使用的key淘汰。
3. volatile-lru:从设置了过期时间的key中,选择最近最少使用的key淘汰。
4. allkeys-random:从所有key中,随机选择一些key淘汰。
5. volatile-random:从设置了过期时间的key中,随机选择一些key淘汰。
总体来说,过期策略和淘汰策略都是为了提高Redis的内存利用率和性能,但是它们的目的和处理方式不同。
阅读全文