文章目录
关于设置过期时间,可以参考为的另一篇文章
https://blog.csdn.net/qq_33229669/article/details/85402990
service
- service
- 测试
在com.tensquare.article.service.ArticleService中, 把数据存入redis时, 指定过期时间. redisTemplate.opsForValue().set("article_"+id,article,10L, TimeUnit.SECONDS);
这样key值就10秒过期了. 时间的数值上,最好加上L, 代表是long类型的
/**
* 根据ID查询实体
* @param id
* @return
*/
public Article findById(String id) {
// 先从redis缓存中获取文章对象
Article article = (Article) redisTemplate.opsForValue().get("article_" + id);
if (article == null) {
//如果article为null,代表缓存中没有存该值,那么去数据库中查询,并把数据存入redis,之后的查询就从redis中拿值
article= articleDao.findById(id).get();
//把数据存入redis
redisTemplate.opsForValue().set("article_"+id,article,10L, TimeUnit.SECONDS);
}
return article;
}
测试
执行先执行修改的请求,再执行查询的请求http://localhost:9004/article/1
. 过了十秒后,会再次从数据库中查询. 在十秒内是从redis中查询