获取发出给 Redis 的每个命令的名称

问题描述

我需要在远程 Redis 服务器前面添加本地代理,如 twemproxy 或 dynomite。

我想将我们使用的命令与支持的命令进行比较。

我们间接使用 redis,因此我无法通过扫描代码来高度确定哪些命令需要支持,我没有遗漏任何东西。所以我想运行测试套件 针对 Redis 实例,然后确定运行的每个命令。

例如,在 https://github.com/twitter/twemproxy/blob/master/notes/redis.md 处,一个列表如

+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|      Command      | Supported? | Format                                                                                                              |
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|        DEL        |    Yes     | DEL key [key …]                                                                                                     |
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|       DUMP        |    Yes     | DUMP key                                                                                                            |
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|      EXISTS       |    Yes     | EXISTS key                                                                                                          |
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|      EXPIRE       |    Yes     | EXPIRE key seconds                            

...

用于显示支持哪些命令。

如何生成从测试套件发出的 Redis 命令列表?

解决方法

你可以直接运行:

redis-cli monitor

在您的终端中查看所有运行的命令及其时间戳。