相当于 Memcached 中的 Redis 哈希值?

mic*_*cho 3 memcached caching redis

我正在为我们的应用程序制定缓存策略,该策略同时使用 Redis 和 Memcached。

我们生成相当长的缓存数据 JSON 字符串,这些字符串是根据 SQL 数据库计算得出的。由于缓存的数据是一次性的,我想使用 Memcached,这样它就会删除我们不再需要的密钥。

问题是可以从不同的参数访问一个集合(例如,Users)。在 Redis 中,我将使用哈希,因此我可以访问hget该哈希中集合的每个表示的键 (),并且仍然能够使用一个命令 ( del) 使所有键过期。但是,我找不到像 Memcached 那样将旧密钥逐出给定数据库大小的方法。

所以我的问题是:

  • 如何设置 Redis,使其保持最大数据库大小并根据需要逐出键?或者
  • 如何在 Memcached 中对 Redis 哈希进行建模,以便轻松使一组密钥过期?

Did*_*zia 5

要配置 Redis 使其具有类似 memcached 的缓存行为,您需要按如下所示更新配置文件:

  • 设置 maxmemory 的值(以字节为单位)
  • 将 maxmemory-policy 设置为 allkeys-lru

你应该得到你想要的行为。