Redis在4.0版本后针对大键(一个上百万对象的SET),在删除过程中,之前版本因读写单线程,此时删除耗时较多,影响其他线程使用,因此在清除数据时,首先预估耗时,达到阈值后使用lazy free方式,直接将该键数据置位无效,交给异步线程进行清除。因此也是修改了底层的数据结构。
redis的回收策略:
1、键过期了并不会立刻回收,redis会有定时任务检查过期的数据进行删除,在客户端访问这个过期数据时,也会触发键的删除操作
2、当配置的内存满了,redis默认策略是不接受写操作,返回错误信息,接收读操作。其他的策略有LRU(最近最久未使用) LFU(最近使用频率最低)。