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如下
输出结果如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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
随机推荐
- Linux CentOS系统下安装node.js与express的方法
- PHP Ajax JavaScript Json获取天气信息实现代码
- jquery的Tooltip插件 qtip使用详细说明
- C#多线程及同步示例简析
- 关于C++中构造函数初始化成员列表的总结
- MySQL下高可用故障转移方案MHA的超级部署教程
- asp.net 支持多语言站点的实现方法
- 用phpMyadmin创建Mysql数据库及独立数据库帐号的图文教程
- jQuery实现视频作为全屏幕背景
- PowerShell中查询错误编号信息的2个方法
- 从汇编看c++中多态的应用
- JavaScript的Module模式编程深入分析
- javascript 回调函数详解
- Android中Viewpager禁止滑动的实现
- 二维码生成Java实现代码
- Spring整合Mybatis使用<context:property-placeholder>时的坑
- JSP页面pageEncoding和contentType属性
- PHP中路径问题的解决方案
- Android Retrofit的使用详解
- ios Plist文件配置方法