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; }