试了很多种错误的方法,现将自己测试成功redis管道pipeline批量操作的方法和redis常用操作以及一些关于springboot+redis的概念分享给大家
开发环境准备:
spring boot 2.x
使用RedisTemplate 操作
springboot项目pom引入redis依赖:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-redis
1.4.7.RELEASE
Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。
SpringDataRedis相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便与其他Spring框架进行搭配使用.
redisTemplate
1. redisTemplate
redisTemplate默认使用的是JDK序列化,但是可以主动设置
redisTemplate执行两条命令其实是在两个连接里完成的,因为redisTemplate执行完一个命令就会对其关闭,但是redisTemplate额外为什么提供了RedisCallback和SessionCallBack两个接口
StringRedisTemplate
StringRedisTemplate继承RedisTemplate,只是提供字符串的操作,复杂的Java对象还要自行处理
RedisCallback和SessionCallBack:
作用: 让RedisTemplate进行回调,通过他们可以在同一条连接中执行多个redis命令
SessionCalback提供了良好的封装,优先使用它,redisCallback使用起来有点复杂(很多工作需要我们自己来完成)还是优先选择SessionCalback
redis 基础操作
redisTemplate模糊匹配删除
String key = "userRole:*";
redisTemplate.delete(key);
Redis模糊查询
可以通过Redis中keys命令进行获取key值,具体命令格式:keys pattern
文中提到redis中允许模糊查询的有3个通配符,分别是:*,?,[]
其中:
*:通配任意多个字符
?:通配单个字符
[]:通配括号内的某一个字符
使用通配符拿到keys
Set keysUserRole = redisTemplate.keys("userRole:"