您可以使用CONFIG
命令获取有关最大内存和内存策略的所需信息。获取配置信息的语法是:
config get <option-name>
以下是如何获取 maxmemory 设置的示例:
redis 127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "0"
以下是如何获取 maxmemory-policy 设置的示例:
redis 127.0.0.1:6379> config get maxmemory-policy
1) "maxmemory-policy"
2) "volatile-lru"
maxmemory 管理有不同的策略(您可以从示例 Redis 配置文件中获取它们的描述):
MAXMEMORY POLICY:当达到 maxmemory 时,Redis 将如何选择要删除的内容?您可以在五种行为中进行选择:
- volatile-lru -> 使用 LRU 算法删除设置了过期时间的密钥
- allkeys-lru -> 根据 LRU 算法删除任何密钥
- volatile-random -> 删除带有过期设置的随机密钥
- allkeys->random -> 删除随机键,任意键
- volatile-ttl -> 删除过期时间最近的密钥(次要 TTL)
- noeviction -> 根本不会过期,只是在写操作时返回一个错误
下面是 pyredis 如何实现类似结果的示例(假设我们在标准端口上有 localhost 数据库):
>>> import redis
>>> c = redis.Redis()
>>> print c.config_get('maxmemory')
{'maxmemory': '0'}