Redis集群下使用Jedis实现keys模糊查询

获取redis key过期时间 PTTL KEY

public Set getAllKeys(String pattern){
		Set result = new HashSet<>();
	    try {
	        // 获取Redis集群内所有节点
	        Map clusterNodes = jedisCluster.getClusterNodes();
	 
	        for (Map.Entry entry : clusterNodes.entrySet()) {
	            Jedis jedis = entry.getValue().getResource();
	            // 判断非从节点(因为若主从复制,从节点会跟随主节点的变化而变化)
	            if (!jedis.info("replication").contains("role:slave")) {
	                // 搜索单个节点内匹配的Key
	                Set keys = jedis.keys(pattern);
	                // 合并搜索结果
	                result.addAll(keys);
	            }
	            jedis.close();
	        }
	    } catch (Exception e) {
	    	logger.error("获取key异常", e);
	    } 
	    return result;
	}

参考

你可能感兴趣的:(redis)