redis把过期的数据都清除完毕后,大量的数据还是会对内存进行占用,内存的大小可以进行自我配置。
使用maxmemory配置指令是为了将Redis配置为对数据集使用指定的内存量。
可以在redis.conf中进行配置
maxmemory <bytes>
也可以在运行时使用CONFIG SET命令来设置。
redis> config set maxmemory <bytes>
设置maxmemory为零将导致没有内存限制。这是64位系统的默认行为,而32位系统使用3GB的隐式内存限制。
当达到指定的内存量时,可以在不同的行为之间进行选择,这称为策略。
maxmemory使用maxmemory-policy配置指令配置达到限制时,会发生确切的行为Redis 。
可以使用以下策略:
- LRU(least recently used) 最久未使用,衡量标准是时间
allkeys-lru:通过尝试先删除较新使用的(LRU)键来退出键,以便为添加的新数据腾出空间。
volatile-lru:通过尝试先删除较新使用的(LRU)密钥来退出密钥,但仅在已设置了expire set的密钥之中,以便为添加的新数据腾出