突破极限解析Redis默认回收策略(redis 默认回收策略)
Redis作为一款可靠、稳定、高性能的内存型数据库,在日常开发中使用率非常广泛,而Redis能够支持的高性能,也离不开内存空间的充分利用。在超出内存限制的情况下,Redis将会使用回收策略来解决的。
Redis默认回收策略共有三种:noeviction(拒绝策略)、volatile-lru(LRU)和volatile-random(随机)。
1、noeviction(拒绝策略)
noeviction拒绝策略的思想是尽量减少大量回收,尽可能的在内存受限的情况下,拒绝写操作和内存压力过大导致Redis服务被迫重启。当实际使用内存超过maxmemory设定值时,Redis将返回“over maximum memory limit”的错误,禁止继续写入数据,同时事务未提交的都会被安全地取消。
2、volatile-lru(LRU)
volatile-lru即Least Recently Used最近最少使用策略,Redis会把最近最久未使用的key回收,保证可以尽可能地写入新的key,同时也保证最近最经常使用的key能够被尽可能的保留。
可以通过如下代码来使用LRU方案:
redis.conf: maxmemory-policy volatile-lru
3、volatile-random(随机)
volatile-random即随机策略,保证当内存使用量超过maxmemory时,Redis随机的丢弃key,忽略这些key的活跃度。
可以通过如下代码来使用随机方案:
redis.conf: maxmemory-policy volatile-random
通过上面的简要介绍,我们对Redis默认回收策略理解更加深入,希望在Redis实际运用中,能够突破极限,实现良好的性能表现。