首页 > 技术文章 > ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context

Forever-Kenlen-Ja 2018-12-18 16:57 原文

封装Redis发布订阅时,SUB时,又想探测具体Channel的状态,于是执行PUBSUB CHNNALES命令,报
ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context 的错误。
原因:
发布订阅模式下不能共用一个TCP连接,也不能在其上面执行其他命令 only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed。

解决方法
1、修改Redis底层源码
2、重开一个连接,进行其他操作,加个Redis连接池。

推荐阅读