1.删除策略
Redis 是一种内存级数据库,数据都存在内存中,但是针对于已经过期的数据,reids 不
会立刻删除只是会存储在 expires 中,当执行删除策略的时候,才会从 expires 中寻找对应的数据存储的地址,在存储空间中找到对应的数据进行删除。数据删除其实就是内存和 CPU 占用之间寻找平衡,CPU 才能去处理事情,针对过期数据,要进行删除的时候,一般有三种策略
1.1 定时删除
顾名思义,当 key 设置有过期时间,时间到了,定时器任务立即执行删除,相当于消
耗 CPU 来减少内存使用,拿时间换空间。
优点:节约内存,到时就删除,快速释放掉不必要的内存占用
缺点:CPU 压力大,无论 CPU 此时负载量多高,都会去占用 CPU 进行 key 的删除
操作,会影响 Redis 服务器响应时间和吞吐量,是一种比较低效的方式
结论:用 CPU 性能换取内存空间,时间换空间
1.2 惰性删除
就是说,数据到达过期时间的时候,先不做处理,等到下次访问数据的时候,进行访问,
如未过期,返回数据,如过期,则删除。这就相当于节约了 CPU 但占用了内存,拿空间换
时间