【问题标题】:Is there a database based key eviction policy in redis when RAM is full当 RAM 已满时,redis 中是否有基于数据库的密钥驱逐策略
【发布时间】:2015-10-21 07:32:50
【问题描述】:

我在我的 redis 服务器中使用了 5 个数据库。我想使用 LRU 机制驱逐属于特定数据库的密钥。有可能吗?

我读到这个:how-to-make-redis-choose-lru-eviction-policy-for-only-some-of-the-keys

但是我所有的数据库都在为它们的条目而活。所以不能使用 volatile-lru 策略。

我尝试了 volatile-ttl 策略,但其他数据库的密钥 ttl 较少。所以他们会被驱逐,这是我不想要的。

【问题讨论】:

    标签: redis lru evict


    【解决方案1】:

    这是使用编号/共享数据库的效果之一 - 它们都共享相同的配置和资源。您应该考虑使用单独的 Redis 服务器,每个数据库一个,以便更好地控制什么被驱逐以及何时被驱逐。更重要的是,使用专用实例可以让您更好地利用服务器拥有的内核。

    【讨论】:

    • 我读到过在同一台服务器上使用不同的 redis 实例。我们可以通过启动另一个具有不同端口的守护进程来轻松地做到这一点,该端口从不同的文件中读取其配置。 (不是默认的 redis.config)。这在我的开发中运行良好。但我在生产中使用亚马逊的 AWS elasticache redis。不确定我们是否可以在 elasticache redis 中推送一个单独的守护进程。有可能吗?
    • 不,据我所知,弹性疼痛是不可能的。但是,有一个 RaaS(Redis 即服务)提供商支持这种操作模式(即专用 Redis 实例),因此如果您对此感兴趣,应该查看 Redis Cloud。
    猜你喜欢
    • 1970-01-01
    • 2020-07-10
    • 2017-02-09
    • 2016-06-20
    • 2018-12-13
    • 2013-01-31
    • 2021-04-17
    • 1970-01-01
    • 2013-12-14
    相关资源
    最近更新 更多