1
我正在編寫一個應用程序,其中一個進程應將數據發送到多個訂閱通道。該流程不提前知道渠道(因爲客戶訂閱不同主題),因此我需要查詢所有活動訂閱以瞭解要獲取和發送的數據。 我發現Redis的命令:如何從Java獲取Redis上的當前訂閱列表
127.0.0.1:6379> pubsub channels
但是: 1.它總是返回一個空列表 2.我無法找到的Java相當於在任一Jedis或Spring實現。
我正在編寫一個應用程序,其中一個進程應將數據發送到多個訂閱通道。該流程不提前知道渠道(因爲客戶訂閱不同主題),因此我需要查詢所有活動訂閱以瞭解要獲取和發送的數據。 我發現Redis的命令:如何從Java獲取Redis上的當前訂閱列表
127.0.0.1:6379> pubsub channels
但是: 1.它總是返回一個空列表 2.我無法找到的Java相當於在任一Jedis或Spring實現。
根據我對端口的理解並基於方法文檔getSubscription()
(返回此連接的當前訂閱,或者如果連接未訂閱,則返回null),我認爲這會對您有所幫助。
redisTemplate.execute(new RedisCallback<Object>(){
@Override
public Object doInRedis(RedisConnection connection) throws DataAccessException {
Subscription susb = connection.getSubscription();
Collection<byte[]> channels = susb.getChannels();
return null;
}
});
Subscription
具有這種連接訂閱與通道。
這是否幫助你@nemiga? – Nebras