如何在 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/的主要内容,如果未能解决你的问题,请参考以下文章