如何在 redis 日志中查看 set/get/

Posted

技术标签:

【中文标题】如何在 redis 日志中查看 set/get/【英文标题】:How to see set/get/ in redis log 【发布时间】:2013-01-20 16:58:56 【问题描述】:

我需要在 redis 日志中查看 redis 获取/设置的内容。 我尝试将 redis 日志级别设置为调试和详细。 当我设置一个值时,这不会向我显示任何内容。

【问题讨论】:

【参考方案1】:

除非你进入日志很重要,在这种情况下我认为我无法帮助你,你应该可以使用MONITOR 命令:

MONITOR 是一个调试命令,可将 Redis 服务器处理的每个命令流回。它可以帮助理解数据库发生了什么。该命令既可以通过 redis-cli 使用,也可以通过 telnet 使用。

你可以这样做:

redis-cli monitor | grep -E ' "(g|s)et" '

请注意,这会带来性能成本 (it's mentioned in the linked docs as roughly 50%)。

将它传送到一个文件中:

redis-cli monitor | grep -E ' "(g|s)et" ' > redis_get_set.log

【讨论】:

您能以某种方式将其通过管道传输到文件中吗? 是的(这是 4 年前问过的)我正在将输出传输到一个文件中(这样我以后可以分析它),然后将它输入到一个着色脚本中,这样我就可以在我的控制台上得到一个漂亮的彩色日志。我们在开发中使用它,而不是在生产中。 谢谢!当管道传输到文件时,redis-cli monitor > redis_get_set.log 对我有用,但redis-cli monitor | grep -E ' "(g|s)et" ' > redis_get_set.log 导致文件保持为空。知道为什么会这样吗? (Ubuntu 16.04) @PaulY 当你这样做时会发生什么redis-cli monitor | grep -E ' "(g|s)et" '【参考方案2】:

我用redis-cli monitor > redis.log 这对我来说很好,比控制台更好。

【讨论】:

以上是关于如何在 redis 日志中查看 set/get/的主要内容,如果未能解决你的问题,请参考以下文章

怎么检查电脑是不是安装redis

linux上redis怎么动态看日志?

Redis常用命令

spring-data-redis中同时使用set()get()increment()的问题

Redis:set/get 命令解析

redis 日志文件