一、什么是Redis
Redis是一种内存级数据库,将所有的数据存放在内存当中,可以通过TTL指令来获取内存中的数据状态:
xx: 具有时效性的数据;
1:代表永久性数据;
2:已经过期的数据或已经删除了的数据或未定义的数据;
Redis的删除策略:
redis开辟了一个空间用来存放值的地址和其过期时间,删除策略是为了在内存和cpu之间找到一个平衡,一旦平衡被打破会降低redis的性能,引发服务器宕机和内存泄漏,一般来说,过期数据通常是在cpu闲暇之余被删除的。
Redis中的过期数据删除情况:redis服务器当中有很多的操作需要被执行,执行会导致CPU的工作大大的增加,当内存的空间还足够时,已被删除的数据的内存空间并未直接释放,而是对客户端的指令先执行,
二、数据删除策略
redis中的数据删除策略包括定时删除、惰性删除、定期删除:
1.定时删除(时间换空间)
定时删除时给key都设置一个过期的时间,当达到删除时间节点时,立即执行对key的删除。
优点:节约内存,到时间执行删除,释放内存空间;
缺点:CPU资源占用率过高,当其他任务在执行时,会导致两者同时进行,会影响两者的效率,re