redis特性了解之过期策略

一、好句

记忆的梗上,谁不油,两三朵娉婷,披着情绪的花。

二、背景

最近别人问我redis设置缓存有效时间然后失效的原理是什么,我想了想就回答了使用了队列,然后按照时间顺序来执行失效,那么问题来了,如果有1个亿的数据都是在1s内失效,那么来不及处理怎么办?

三、redis设置失效

3.1 过期的策略有三种:
立即过期
访问过期
定时过期

redis中的过期策略是其中两种即是访问过期定时过期,还有就是暴力删除

3.2详解

访问过期:即是在访问的时候判断是否失效,如果失效则进行删除操作。
定时过期:即是如果定时的key量很小,只需要消耗一点点CPU就可以进行删除;但是如果定时的key的量太大,那么定时删除则会浪费CPU,所以redis内部会根据key数量大小,根据算法来删除一定比列的key。
暴力删除:这是指当内存超出设定的值的时候进行暴力删除。

思考:
其实自己当时想这个的时候首先想到队列,然后数据量大了,处理不及时又怎么办了,回来查了下资料才知道redis的操作方式。所以有时候自己就要发散思维,不能只局限于自己的思考,可能在思考的时候要考虑到其可能性。

参考:
[redis如何删除过期数据]

你可能感兴趣的:(redis特性了解之过期策略)