redis怎么动态添加内存?

前言

在部署redis的时候,一般都会设置最大使用内存,来限制redis实例的最大使用内存,但是在启动后,发现内存不够用了,redis提供动态调整的参数。如果不设置maxmemory或者设置为0,64位系统不限制内存,32位系统最多使用3GB内存。

redis怎么动态添加内存?


实际操作

修改最大使用内存:

config set maxmemory 2gb

查看最大使用内存

config get maxmemory

redis怎么动态添加内存?


如果达到最大使用内存会怎么样呢?

如果设定了maxmemory,使用redis的时候,redis的内存使用量不能超过设定的值,一旦redis的内存使用量达到了最大值,redis将会尝试按照选择的eviction policy(回收策略)移除相应的keys。

如果redis不能根据回收策略移除keys,或者回收策略设置成noeviction,那么redis将对需要写操作的命令返回错误信息,如SET,LPUSH操作,对GET这样的只读操作会继续响应。

支持的回收策略:

# volatile-lru -> remove the key with an expire set using an LRU algorithm

# allkeys-lru -> remove any key according to the LRU algorithm

# volatile-random -> remove a random key with an expire set

# allkeys-random -> remove a random key, any key

# volatile-ttl -> remove the key with the nearest expire time (minor TTL)

# noeviction -> don't expire at all, just return an error on write operations

redis怎么动态添加内存?

相关推荐