Java使用RedisTemplate如何根据前缀获取key列表
作者:Asurplus
这篇文章主要介绍了Java使用RedisTemplate如何根据前缀获取key列表,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
使用RedisTemplate根据前缀获取key列表
我们在使用 Redis 的时候,会需要获取以某个字符串开头的所有 key
批量获取 key
根据前缀获取 key
代码如下:
/** * 根据前缀获取所有的key * 例如:pro_* */ public Set<String> getListKey(String prefix) { Set<String> keys = redisTemplate.keys(prefix.concat("*")); return keys; }
prefix 作为我们匹配的前缀,例如:pro_*,即就是我们需要获取所有以 pro_ 开头的 key 集合,我们得到一个 Set 集合
获取所有的 key
代码如下:
/** * 获取所有的key */ public Set<String> getListKey(String prefix) { Set<String> keys = redisTemplate.keys("*"); return keys; }
注意:我们这里要写 *,而不能为空,不然获取不到 key
批量获取 value
/** * 获取所有的key */ public List<String> getListKey(String prefix) { Set<String> keys = redisTemplate.keys("*"); List<String> values = redisTemplate.opsForValue().multiGet(keys); return values; }
RedisTemplate如何获取符合要求的key
redisTemplate.keys()获取所有符合条件的key
如图:reds中存了三条数据
我写的test如下
输出结果如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。