如何获取redis命中率?

joz*_*ozo 2 python redis

我使用 redis 作为缓存服务器。我可以用我的凭据连接到它。如何查明我的 Redis 实例的命中率(命中率)是多少?

joz*_*ozo 6

您需要从您的 redis 数据库获取keyspace_hits和。keyspace_misses有几种方法可以做到这一点。

从命令行:

$> redis-cli info
...
keyspace_hits:213
keyspace_misses:45
...
Run Code Online (Sandbox Code Playgroud)

从Python(你需要安装包“redis”):

In [1]: import redis
In [2]: client = redis.StrictRedis(host='redis', port=6379, db=0)
In [3]: client.info()
Out[3]:
{...
u'keyspace_hits': 213,
u'keyspace_misses': 45,
...}
Run Code Online (Sandbox Code Playgroud)

然后就可以计算命中率:

hit_ratio = keyspace_hits / (keyspace_hits + keyspace_misses)

在我们的例子中它将是

命中率 = 213 / (213 + 45) = 0,8255813953

也就是82.56%的命中率。