在乙個集群中,顯然不能通過keys方法通過pattern直接獲取key的集合;鑑於這種問題,產生了兩種思路,如下:
方案1:已知相同的tag的kv會在乙個節點上,所以只要key帶有相同的hashtag,則會在乙個節點上,所以只要掃瞄該節點即可,這樣就將集群轉化為了單點。
@responsebody
public void rediskeys() *");
scanparams.count(1000);
scanresultresult = jediscluster.scan("0", scanparams);
listkeylist = result.getresult();
system.out.println("keylist*****=="+keylist);
}finally
}
"**");//success上述match方法中:括號中的引數也可以按照如上方式編寫;"zmc_text:*");//success
其關鍵在於 key 上傳到redis中,命名方式裡面,必須含有 {};
並且{}前面、後面有無引數必須指定;若key為 zmc_text: :1
scanparams.match("*");查不出結果
方案2:獲取所有的節點,分別掃瞄每個節點,根據pattern獲取節點中的key,整合起來即可;
注意:cluster模式執行多key操作的時候,這些key必須在同乙個slot上,不然會報jedisdataexception異常;
@responsebody
public void rediskeys() else
}for (map.entry> integerlistentry : map.entryset()) }}
}logger.info("success rediskeys:{}", rediskeystartwith);
} finally }
宣告:本文參考了 ;寫的很棒,可以參考一下...
CygWin安裝RedisCluster指南
安裝前確認磁碟有6g以上的磁碟容量,安裝時雙擊setup x86 64.exe,基本按照預設設定安裝就行,也可自己指定安裝路徑等,3 deps hiredis net.c中注釋掉 並在 include sds.h 之後追加 ifdef cygwin define tcp keepcnt 8 defi...
RedisCluster搭建步驟
安裝redis 配置並啟動redis節點 選兩台機器執行該步驟 把redis安裝目錄redis.conf修改如下並複製進對應的700 資料夾 bind 10.11.147.40 redis安裝機器ip 注意這裡千萬不要用127.0.0.1或者注釋掉這行,以上兩種都會導致遠端機器連線不到redis p...
redisCluster環境準備
需要 redis3.0以上的版本 我使用了redis3.2.12 之後需要ruby環境 yum install ruby yum install rubygems 安裝redis trib.rb執行依賴的ruby的包redis 3.2.2.gem 位址為 gem install redis 3.2....