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