Redis 通过key前缀获取所有key的值

Redis 通过key前缀获取所有key的值

public void getRedis(String cardId) {
        // 获取所有的key
        Set<String> keys = redisTemplate.keys("card_key*");
        for (String key : keys) {
            // 获取key对应值
            Object value = redisTemplate.opsForValue().get(key);
            if (value.equals(cardId)) {
                redisTemplate.delete(key);
            }
        }
    }

 改进:

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

批量获取value

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

 

posted @ 2022-08-01 22:27  整合侠  阅读(9105)  评论(0编辑  收藏  举报