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

目录
  • 使用RedisTemplate根据前缀获取key列表
    • 批量获取 key
    • 批量获取 value
  • RedisTemplate如何获取符合要求的key
    • 如图:reds中存了三条数据
    • 我写的test如下

使用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如下

输出结果如下:

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

(0)

相关推荐

  • java 用redisTemplate 的 Operations存取list集合操作

    java redisTemplate 的 Operations存取list集合 一 .存取为list类型 @RestController @RequestMapping("/test") @Slf4j public class TestController { @Autowired private RedisTemplate redisTemplate; @ApiOperation("redis-savelist") @PostMapping("/redi

  • 解决spring中redistemplate不能用通配符keys查出相应Key的问题

    有个业务中需要删除某个前缀的所有Redis缓存,于是用RedisTemplate的keys方法先查出所有合适的key,再遍历删除. 但是在keys(patten+"*")时每次取出的都为空. 解决问题: spring中redis配置中,引入StringRedisTemplate而不是RedisTemplate,StringRedisTemplate本身继承自RedisTemplate, 即 <bean id="redisTemplate" class=&quo

  • Redis使用RedisTemplate模板类的常用操作方式

    目录 一.前言 二.Redis 数据结构简介 三.RedisTemplate对5种数据结构的操作 3.1 String字符串操作 3.2 list数组操作 3.3 Hash结构,map操作 3.4 Set集合操作 四.总结 一.前言 Redis是一个NoSQL(非关系型数据库)数据库之一,key-value存储系统或者说是一个缓存键值对数据库,具有如下特性: 基于内存运行,性能高效 支持分布式,理论上可以无限扩展 key-value存储系统 开源的使用ANSI C语言编写.遵守BSD协议.支持网

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

    目录 使用RedisTemplate根据前缀获取key列表 批量获取 key 批量获取 value RedisTemplate如何获取符合要求的key 如图:reds中存了三条数据 我写的test如下 使用RedisTemplate根据前缀获取key列表 我们在使用 Redis 的时候,会需要获取以某个字符串开头的所有 key 批量获取 key 根据前缀获取 key 代码如下: /**  * 根据前缀获取所有的key  * 例如:pro_*  */ public Set<String> get

  • java枚举enum,根据value值获取key键的操作

    1.ZjlxEnum.java public enum ZjlxEnum implements IEnum { SFZ("1", "居民身份证"), XGZM("2", "香港特区护照/身份证明"), AMZM("3", "澳门特区护照/身份证明"), TWTXZ("4", "台湾居民来往大陆通行证"), JWJZZ("5",

  • Java使用RedisTemplate模糊删除key操作

    Redis模糊匹配批量删除操作,使用RedisTemplate操作: public void deleteByPrex(String prex) { Set<String> keys = redisTemplate.keys(prex); if (CollectionUtils.isNotEmpty(keys)) { redisTemplate.delete(keys); } } prex为迷糊匹配的key,如cache:user:* 这里需要判断keys是否存在,如果一个都匹配不到会报错:

  • Redis获取某个前缀的key脚本实例

    1.背景 在平时的维护中,经常会遇到要统计某个前缀的key有多少,在请求比较多的redis中,keys * 会直接导致阻塞. 可以采用scan的方式进行增量迭代,查询使用pipeline减少交互,提高效率. 2.scan命令的优缺点 SCAN命令的有SCAN,SSCAN,HSCAN,ZSCAN. SCAN的话就是遍历所有的keys 其他的SCAN命令的话是SCAN选中的集合. SCAN命令是增量的循环,每次调用只会返回一小部分的元素.所以不会有KEYS命令的坑. SCAN命令返回的是一个游标,从

  • Java反射机制原理、Class获取方式以及应用场景详解

    目录 学习背景 一.Java反射机制是什么? 1.1 反射原理 1.2 反射例子 二.Java反射机制中获取Class的三种方式及区别? 2.1 Class的几种获取方式 2.2 代码演示几种方式的区别 三.Java反射机制的应用场景有哪些? 3.1 应用场景 3.2 简单工厂模式优化 3.2.1 什么是简单工厂模式? 3.2.2 简单工厂模式有什么用? 3.2.3 如何实现简单工程模式? 3.2.4 简单工厂模式优化 3.2.5 简单工厂模式再次优化 3.3 代理模式中的动态代理实现 3.3.

  • Java中token的存储和获取实例代码

    目录 1. 获取token的工具类 2. header存储token 2.1 前端存储token 2.2 访问携带token 2.3 后端获取token并进行验证(拦截器中进行验证) 3. URL中的属性值 4. Cookie 4.1 控制器代码 4.2 测试 向Cookie中插入key - value值!!! 总结 1. 获取token的工具类 问:为什么写工具类呢???答:因为我们不知道前端将token怎么存储的,所以我们可以通过调用Token工具类来获取token.Token工具类会检查h

  • Java编程获取文件列表及子文件目录的方法(非递归)

    废话不谈,直接进入正题,理解见代码注释. // 非递归 public List<String> scanFiles(String path) { List<String>filePaths = new ArrayList<String>(); LinkedList<File> list = new LinkedList<File>(); File dir = new File(path); File[] file = dir.listFiles(

  • java 结合jQuery实现跨域名获取数据的方法

    一.什么是跨域? 由于浏览器出于安全的考虑,采取了同源策略的限制,使得jQuery无法直接跨域名互相操作对象或数据.例如:a.com 域名下的 a.html页面利用jQuery无法操作b.com 域名下b.html页面的对象或是数据, 并且默认情况下也不能操作test.a.com域名下的 test.html的 对象或是数据 .只要满足下面条件的jQuery都会视为跨域名: 1.主域相同,子域不同,如xxx.aaa.com和yyy.aaa.com 2.域名相同,端口不同,如xxx.aaa.com:

  • Java用POI解析excel并获取所有单元格数据的实例

    1.导入POI相关jar包 org.apache.poi jar 2.代码示例 public List getAllExcel(File file, String tableName, String fname, String enterpriseId, String reportId, String projectId) throws FileNotFoundException, IOException, ClassNotFoundException, InstantiationExcepti

随机推荐