redisCluster中模糊獲取key

2021-08-22 04:26:38 字數 998 閱讀 3970

在乙個集群中,顯然不能通過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

"zmc_text:*");//success

上述match方法中:括號中的引數也可以按照如上方式編寫;

其關鍵在於 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....