1

我在我的 Rails 应用程序中将 Redis 用于几件事,每件事都有自己的前缀。

  1. 我运行 Resque(所有 resque 的东西都以resque:
  2. 我们使用它作为 Rails.cache 的支持(我在键前面加上我的应用程序名称)
  3. 我们还有其他几个内置缓存的 gem(例如,geocoder gem 为所有元素添加前缀geocoder:

我想知道是否有一种简单的方法可以跟踪同时运行的 3 个缓存的统计信息。例如大小,命中率。

我知道如何使用 获取整个节点的统计信息Rails.cache.stats,但我很确定这会报告所有内容的 Redis 统计信息。有什么方法可以通过键前缀进行隔离吗?

4

1 回答 1

2

在 Redis 中,任何基于前缀的查找都是 O(n) 并且不建议在生产中常规使用。Redis 不做任何基于前缀的内部隔离。

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

于 2013-05-29T21:01:05.177 回答