封裝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連接池。