相当于Memcached中的Redis哈希?

时间:2012-06-20 16:01:43

标签: caching memcached redis

我正在为我们的应用程序开发一个缓存策略,它使用Redis和Memcached。

我们根据SQL数据库生成相当长的缓存数据JSON字符串。由于缓存的数据是一次性的,我想使用Memcached,因此它将驱逐我们不再需要的密钥。

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

所以我的问题是:

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

1 个答案:

答案 0 :(得分:4)

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

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

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