删除策略
过期数据
Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态:
- XX:具有时效性的数据
- -1:永久有效的数据
- -2:已经过期的数据或被删除的数据或未定义的数据
时效性数据的存储结构
删除策略是对expires的维护。
删除数据的策略
定时删除
创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作。
当前时间和expires中对过期时间一致时,定时器触发删除。
优点:节省内存,到时间就删除,快速释放不必要的内存占用。
缺点:CPU压力较大,无论CPU此时负载情况如何,均占用CPU来执行删除,会影响Redis服务器的响应时间和指令吞吐量。
时间换空间
惰性删除
数据到达过期时间,不做处理,等下次访问该数据等时候执行删除。
<