SpringBoot:SpringDataRedis缓存改造
在做一个SpringBoot微服务的项目,为了加快接口响应速度,把ProdOffer-销售品数据,改造成Redis缓存。
一.修改 pom.xml
在项目pom中引入SpringDataRedis:
<!-- SpringDataRedis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
二.修改 application.yml
添加Redis配置信息:
redis: host: 192.168.195.135 port: 6379
三.代码改造
1.在 Service 中注入RedisTemplate
@Autowired private RedisTemplate redisTemplate;
2.针对查询操作:
修改之前:
return prodOfferDao.findById(id).get();
首先从缓存中取,若没有取到,则查询DB并把结果放入缓存:
// 从缓存中提取 ProdOffer prodOffer = (ProdOffer) redisTemplate.opsForValue().get("prodoffer_" + id); // 如果缓存没有则到数据库查询并放入缓存 if(null==prodOffer){ prodOffer = prodOfferDao.findById(id).get(); redisTemplate.opsForValue().set("prodoffer_" + id,prodOffer); }
3.针对修改或者删除操作:
修改之前:
prodOfferDao.save(prodOffer);
在每次修改或者删除数据后,把缓存中的数据清空:
redisTemplate.delete("prodoffer_" + prodOffer.getId());// 清空缓存 prodOfferDao.save(prodOffer);
4.缓存过期时间设置
在每次set设置值的时候,可以指定过期时间:
redisTemplate.opsForValue().set("prodoffer_" + id,prodOffer,10, TimeUnit.SECONDS);// 设置10秒过期
改造过程不是很复杂,Redis改造后,通过Postman测试接口,响应时间有明显缩短。
相关推荐
天空一样的蔚蓝 2020-10-23
ZGCdemo 2020-11-09
Freshairx 2020-11-10
ThinkMake 2020-11-13
XPY 2020-11-11
学习web前端 2020-11-09
菜鸟上路CCLinux 2020-11-04
xueyuediana 2020-10-30
liuyuchen 2020-10-27
xuebingnan 2020-08-24
cyhgogogo 2020-08-18
bluewelkin 2020-08-17
dongCSDN 2020-08-17
Quietboy 2020-08-17
houdaxiami 2020-08-15
chenhaimeimeng 2020-08-15
dabian 2020-08-15
东哥笔记 2020-08-14