Redis中带有前缀的元素的统计信息

时间:2013-05-29 16:39:43

标签: ruby-on-rails redis monitoring

我在我的Rails应用程序中使用Redis做了几件事,每个都有自己的前缀。

  1. 我运行Resque(所有resque的东西都以resque:
  2. 为前缀
  3. 我们使用它作为Rails.cache的支持(我用我的应用名称作为我的键前缀)
  4. 我们还有一些内置缓存使用它的宝石(例如地理编码器宝石前缀所有元素geocoder:
  5. 我想知道是否有一种简单的方法可以跟踪同时运行的3个缓存的统计信息。例如大小,命中率。

    我知道如何使用Rails.cache.stats获取整个节点的统计信息,但我很确定会报告所有内容的Redis统计信息。有没有办法按密钥前缀隔离?

1 个答案:

答案 0 :(得分:2)

在Redis,any lookup based on prefix will be O(n) and is not recommended for regular use in production。 Redis不会根据前缀进行任何内部隔离。

作为解决方法,您可以将三个缓存分成三个独立的数据库,然后使用REDIS INFO KEYSPACE获取每个数据库的统计信息,这实际上会为每个缓存提供统计信息。