Java使用RedisTemplate如何根据前缀获取key列表

使用RedisTemplate根据前缀获取key列表

我们在使用 Redis 的时候,会需要获取以某个字符串开头的所有 key

批量获取 key

根据前缀获取 key

代码如下:

/**
 * 根据前缀获取所有的key
 * 例如:pro_*
 */
public Set getListKey(String prefix) {
    Set keys = redisTemplate.keys(prefix.concat("*"));
    return keys;
}

prefix 作为我们匹配的前缀,例如:pro_*,即就是我们需要获取所有以 pro_ 开头的 key 集合,我们得到一个 Set 集合

获取所有的 key

代码如下:

/**
 * 获取所有的key
 */
public Set getListKey(String prefix) {
    Set keys = redisTemplate.keys("*");
    return keys;
}

注意:我们这里要写 *,而不能为空,不然获取不到 key

批量获取 value

/**
 * 获取所有的key
 */
public List getListKey(String prefix) {
    Set keys = redisTemplate.keys("*");
    List values = redisTemplate.opsForValue().multiGet(keys);
    return values;
}

RedisTemplate如何获取符合要求的key

redisTemplate.keys()获取所有符合条件的key

如图:reds中存了三条数据

Java使用RedisTemplate如何根据前缀获取key列表_第1张图片

我写的test如下

Java使用RedisTemplate如何根据前缀获取key列表_第2张图片

输出结果如下:

Java使用RedisTemplate如何根据前缀获取key列表_第3张图片

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Java使用RedisTemplate如何根据前缀获取key列表)