【问题标题】:Redis evict keys before memory is fullRedis 在内存已满之前驱逐键
【发布时间】:2013-01-31 19:16:13
【问题描述】:

我使用 Redis 作为一个简单的键值存储。我实际上正在使用 Heroku 插件(Redis Cloud),但我认为这个问题并不重要。好的,Redis 的可用内存为 1GB,驱逐策略设置为allkeys lru。存储数据时我没有设置 ttl。我的理解是数据会保留在 Redis 中,直到内存已满。然后最后一个最近使用的数据被驱逐。但事实并非如此。 Redis 经常使用大约 3MB 的内存,并且很快就会删除数据。

我在这里理解有什么问题吗? Redis 为什么不将数据保存在内存中?

谢谢
西蒙

【问题讨论】:

  • 您确定 Redis 的可用内存(即 maxmemory 参数)是 1 GB 而不是 1 MB?
  • 是的,我确定。限制为 1GB,使用为 ~3MB 或 0.3%。至少管理控制台是这么说的……

标签: django heroku redis


【解决方案1】:

找到了。 Redis 本身不是问题。我正在使用的 Django 插件之一(django-redis-cache、redis-py)将默认 TTL 设置为 300 秒。

【讨论】:

    猜你喜欢
    • 2022-01-28
    • 2013-12-29
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多