因项目要求需要展示捉去redis集群的所有key值数量,中间找了很多资料翻了很多博客,没有找到现成的,只能自己总结了。代码如果有什么问题欢迎反馈。
一:首先是获取一个redis数据库上的所有keys
public static long getScan(String hostname,int port){
Jedis jedis =new Jedis(hostname,port);
// 游标初始值为0
String cursor = ScanParams.SCAN_POINTER_START;
String key = "*";
ScanParams scanParams = new ScanParams();
scanParams.match(key);// 匹配以 PLFX-ZZSFP-* 为前缀的 key
scanParams.count(1000);
List<String> listAll=new ArrayList<String>();
while (true){
//使用scan命令获取数据,使用cursor游标记录位置,下次循环使用
ScanResult<String> scanResult = jedis.scan(cursor, scanParams);
cursor=