我在我的Rails应用程序中使用Redis做了几件事,每个都有自己的前缀。
resque:
geocoder:
)我想知道是否有一种简单的方法可以跟踪同时运行的3个缓存的统计信息。例如大小,命中率。
我知道如何使用Rails.cache.stats
获取整个节点的统计信息,但我很确定会报告所有内容的Redis统计信息。有没有办法按密钥前缀隔离?
答案 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获取每个数据库的统计信息,这实际上会为每个缓存提供统计信息。