diff --git a/camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/upstream/UpstreamRedisClientTemplate.java b/camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/upstream/UpstreamRedisClientTemplate.java index 0428257fc..831541ab4 100644 --- a/camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/upstream/UpstreamRedisClientTemplate.java +++ b/camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/upstream/UpstreamRedisClientTemplate.java @@ -266,6 +266,13 @@ public List> sendCommand(int db, List commands futureList.add(future); continue; } + if (redisCommand == RedisCommand.PUBSUB) { + //send to first write resource + List writeResources = resourceSelector.getWriteResources(Utils.EMPTY_ARRAY); + CompletableFuture future = doWrite(Collections.singletonList(writeResources.get(0)), commandFlusher, command); + futureList.add(future); + continue; + } //other commands }