缓存是分布式系统中的重要组件,主要解决数据库数据的高并发访问。在实际开发中,尤其是用户访问量较大的网站,用户对高频热点数据的访问非常频繁,为了提高服务器访问性能、减少数据库的压力、提高用户体验,使用缓存显得尤为重要。
首先,进行环境搭建,分为三步。
一.准备数据,创建项目
1.创建Spring Boot项目,引入相关依赖
这里使用之前创建的springbootdata的数据库,该数据库有两个表 t_article和t_comment,这两个表预先插入几条测试数据。 使用Spring Initializr方式创建一个Spring Boot项目,在Dependencies依赖选择项中JPA依赖、MySQL依赖和Web依赖。
2、编写数据库表对应的实体类(省略getXX()、setXX()方法和toString()方法)
3、编写数据库操作的Repository接口文件CommentRepository
4、编写业务操作类Service文件CommentService,在该类中编写数据的查询、修改和删除操作
5.编写Web访问层Controller文件CommentController,使用注入的CommentService实例对象编写对Comment评论数据的查询、修改和删除方法
@Autowired
private CommentService commentService;
@GetMapping("/get/{id}")
public Comment findById(@PathVariable("id") int comment_id){
Comment comment = commentService.findById(comment_id);
return comment;
}
@GetMapping("/update/{id}/{author}")
public Comment updateComment(@PathVariable("id") int comment_id,
@PathVariable("author") String author){
Comment comment = commentService.findById(comment_id);
comment.setAuthor(author);
Comment updateComment = commentService.updateComment(comment);
return updateComment;
}
@GetMapping("/delete/{id}")
public void deleteComment(@PathVariable("id") int comment_id){
commentService.deleteComment(comment_id);}
二.编写配置文件application.properties
三.项目测试
项目启动成功后,在浏览器上访问http://localhost:8080/get/1,浏览器每刷新一次,控制台会新输出一条SQL语句
spring boot缓存注解简单介绍
@EnableCaching︓通常配置在项⽬启动类,表⽰开启缓存功能
@Cacheable︓⽤于对⽅法的查询结果进⾏缓存存储,当存在缓存时,直接使⽤缓存结果,不存在缓存
时,进⾏⽅法查询,将结果存⼊缓存。
@CachePut︓表⽰将返回结果更新到缓存中。
@CacheEvict︓表⽰删除缓存数据。
@Cacheable,@CachePut,@CacheEvict必须要配置value/cacheNames,表⽰缓存空间的名称,此外key属性
表⽰缓存在缓存空间中的对应标识符。
整合Redis进⾏缓存处理
Redis简介
Redis本质上是⼀个键值模型的内存数据库,整个数据库加载在内存中进⾏数据操作,并定期通过异步操
作把数据库数据写回到硬盘上进⾏保存。
Redis的性能⾮常出⾊,在⼀台普通的电脑上,每秒可以处理超过10万次读写操作。
Redis可以⽤作缓存和队列系统中,可以为每个键设置⽣存时间,⽣存时间到期后会⾃动删除,还⽀持
“
发布/订阅”的消息模式。
Redis⽀持的数据类型包括︓string(字符串)、 list(列表)、 set(集合)、hash(哈希表)等。
Redis安装与启动
官⽹下载 (Redis优先推荐Linux下使⽤,官⽹没有windows的安装包) 百度⽹盘提取码︓iw9c
下载完成后,按如图步骤进行
RedisDesktopManager安装使⽤
总结
Spring Boot缓存是一种用于提高应用程序效率和性能的技术,通过将经常使用的数据存储到缓存中,可以避免频繁地访问和查询数据库。下面是Spring Boot缓存的一些总结:
-
Spring Boot缓存注解:Spring Boot提供了许多缓存注解,如@Cacheable、@CachePut、@CacheEvict等,这些注解可以轻松地实现缓存功能。
-
Spring Boot缓存支持:Spring Boot支持多种缓存技术,如Ehcache、Redis、Guava等。
-
Spring Boot缓存配置:Spring Boot缓存的配置非常简单,只需要在application.properties文件中配置相关属性即可,如spring.cache.type、spring.cache.ehcache.config等。
-
Spring Boot缓存管理器:Spring Boot提供了多种缓存管理器,可以根据需求选择不同的管理器,如ConcurrentMapCacheManager、EhCacheCacheManager、RedisCacheManager等。
-
Spring Boot缓存使用场景:Spring Boot缓存可以用于提高数据查询的效率、减少对数据库的访问、提高应用程序的性能等场景。
-
Spring Boot缓存失效:Spring Boot缓存可以设置失效时间,当失效时间到达时,缓存将自动失效并重新加载最新数据。
综上所述,Spring Boot缓存是一种简单而强大的技术,可以帮助开发人员提高应用程序的效率和性能。