【SpringBoot】Springboot2.x整合Redis(一)
RedisSpringBoot 整合 SpringBoot2
2023-09-27 14:25:06 时间
备注:
springboto整合redis依赖于spring-boot-starter-data-redis这个jar
一,项目环境和依赖
1.POM.xml配置
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
2.application.properties文件配置
#=========redis基础配置=========
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
# 连接超时时间 单位 ms(毫秒)
spring.redis.timeout=3000
#=========redis线程池设置=========
# 连接池中的最大空闲连接,默认值也是8。
spring.redis.pool.max-idle=200
#连接池中的最小空闲连接,默认值也是0。
spring.redis.pool.min-idle=200
# 如果赋值为-1,则表示不限制;pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
spring.redis.pool.max-active=2000
# 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时
spring.redis.pool.max-wait=1000
二.测试代码
@RestController @RequestMapping("/api/v1/redis") public class RdisTestController { @Autowired private StringRedisTemplate redisTpl; //jdbcTemplate @Autowired private RedisClient redis; @GetMapping(value="add") public Object add(){ //redisTpl.opsForValue().set("name", "xdclass2018"); redis.set("username", "xddddddd"); return JsonData.buildSuccess(); } @GetMapping(value="get") public Object get(){ //String value = redisTpl.opsForValue().get("name"); String value = redis.get("username"); return JsonData.buildSuccess(value); } @GetMapping(value="save_user") public Object saveUser(){ User user = new User(1, "abc", "11", new Date()); String userStr = JsonUtils.obj2String(user); //项目名:模块名:id/或者其他相关参数 boolean flag = redis.set("base:user:11", userStr); return JsonData.buildSuccess(flag); } @GetMapping(value="find_user") public Object findUser(){ String userStr = redis.get("base:user:11"); User user = JsonUtils.string2Obj(userStr, User.class); return JsonData.buildSuccess(user); } }
三:代码规范
注意:使用Redis缓存数据时,key的命名规范建议:
项目名:模块名:特殊(标识) 例如 base:user:id
这样做的好处是可以在redis中直观的看到各个模块的缓存数据
例如:使用RDM工具观察到,按以上方式创建的key,会自动创建层级文件夹
代码地址:
相关文章
- 都2021了还不懂Redis的网络通信协议?
- SpringBoot整合Spring Data JPA以及集成Redis
- springboot:redis反序列化发生类型转换错误
- springboot:session集中存储到redis
- SpringBoot 整合redis
- springboot整合spring data redis
- 基于redis的分布式ID生成器
- 产品使用的前后台框架API-dubbo-redis-elasticsearch-jquery
- Springboot+Redis序列化坑
- Redis Server监控
- springboot项目中连接2个redis实例
- 【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境
- redis20 - SpringBoot 与 redis 客户端 lettuce集成应用
- SpringBoot+Vue+Redis实现验证码功能、一个小时只允许发三次验证码。一次验证码有效期二分钟。SpringBoot整合Redis
- springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
- SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解、如何添加锁解决缓存击穿问题?分布式情况下如何添加分布式锁
- springboot整合redis
- SpringBoot系列十:SpringBoot整合Redis
- springboot 整合使用redis发布订阅功能
- SpringBoot-Data-Redis快速使用
- Redis应用场景一
- Redis简介以及数据类型存储