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如下
输出结果如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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协议.支持网
-
解决spring中redistemplate不能用通配符keys查出相应Key的问题
有个业务中需要删除某个前缀的所有Redis缓存,于是用RedisTemplate的keys方法先查出所有合适的key,再遍历删除. 但是在keys(patten+"*")时每次取出的都为空. 解决问题: spring中redis配置中,引入StringRedisTemplate而不是RedisTemplate,StringRedisTemplate本身继承自RedisTemplate, 即 <bean id="redisTemplate" class=&quo
-
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
-
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
随机推荐
- JS利用正则配合replace替换指定字符
- jquery 页眉单行信息滚动显示实现思路及代码
- JS函数实现动态添加CSS样式表文件
- java数据结构排序算法之树形选择排序详解
- Java泛型映射不同的值类型详解及实例代码
- JS实现颜色动态淡化效果
- CodeIgniter CLI模式简介
- Mysql命令大全(详细篇)
- javascript代码加载优化方法
- Web压力测试工具:http_load、webbench、ab、Siege使用方法
- C++中的函数指针与函数对象的总结
- sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)
- sersync2 完全安装配置说明(三) 插件基本配置和使用
- 利用反射获得类的public static/const成员的值实例
- ThinkPHP 模板substr的截取字符串函数详解
- PHP单元测试利器 PHPUNIT深入用法(二)第1/2页
- 当标题不能显示完整的解决方法
- Android定时开机的流程详解
- golang http 连接超时和传输超时的例子
- 两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法