问题描述
pubsub channels
可以查看Redis中被订阅的频道(channel):
pubsub numpat
可以查看被订阅的模式(pattern)数量:
1 | # redis-cli pubsub numpat |
问题:
除了查看被订阅模式的数量,我还需要获取每个订阅模式字符串的内容,怎么做 ?
解决方法
google没搜到现成的命令,决定自己修改redis-server
源码,打印模式链表的内容,用时3~5分钟,需要了解:
具体操作
1、下载Redis源码(这里用的是6.0.9版本的源码,下载链接),修改pubsub.c
,自定义一个模式链表打印函数myPubsubPatternsPrint
,实现参考如下:
1 | // pubsub.c |
2、重新编译并安装redis-server,后台gdb call一下自定义的打印函数myPubsubPatternsPrint
得到模式链表的内容,如下图所示:
参考资料
【1】《Redis设计与实现》 第18章 发布与订阅