Redis作为缓存使用时,一些场景下要考虑内存的空间消耗问题。Redis会删除过期键以释放空间,过期键的删除策略有两种: 惰性删除:每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。 定期删除:每隔一段时间,程序就对数据库进行一次检查,删除里面
Redis主要通过控制内存上限和回收策略实现内存管理。设置内存上限config set maxmemory xx,maxmemory限制的是Redis真正使用的内存,也就是used_memory对应的内存,由于内存碎片的存在,实际消耗的内存可能会比maxmemory大,实际使用时要小心这部分内存溢出。内存回收策略Redis的内存回收机
Redis过期键删除策略 Redis key过期的方式有三种: 被动删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删除掉这个过期key 主动删除:由于惰性删除策略无法保证冷数据被及时删掉,所以Redis会定期主动淘汰一批已过期的key 当前已用内存超过maxmemory限定时,触发主动清理策略 被