当前位置: 首页 > news >正文

积极推进网站建设关于免费制作网页的网站

积极推进网站建设,关于免费制作网页的网站,安卓优化大师新版,微网站制作价格缓存是提升应用性能的常用手段。它通过将耗时的操作结果存储起来#xff0c;下次请求可以直接从缓存中获取#xff0c;从而避免重复计算或查询数据库#xff0c;显著减少响应时间和服务器负载。Spring 框架提供了强大的缓存抽象 Spring Cache#xff0c;它简化了缓存的使用…缓存是提升应用性能的常用手段。它通过将耗时的操作结果存储起来下次请求可以直接从缓存中获取从而避免重复计算或查询数据库显著减少响应时间和服务器负载。Spring 框架提供了强大的缓存抽象 Spring Cache它简化了缓存的使用并提供了与多种缓存技术的集成。 Spring Cache 是一个框架实现了基于注解的缓存功能只需要简单地加一个注解就能实现缓存功能。 Spring Cache 提供了一层抽象底层可以切换不同的缓存实现例如 EHCacheCaffeineRedis(常用) 一、Spring Cache 核心概念 Spring Cache 基于 AOP面向切面编程实现其核心思想是将缓存逻辑与业务逻辑分离通过注解或 XML 配置的方式声明缓存行为。主要组件包括 Cacheable: 触发缓存逻辑。如果缓存中有数据则直接返回否则执行方法并将结果放入缓存。 CachePut: 无论缓存中是否存在数据都会执行方法并将结果更新到缓存。适用于更新缓存的场景。 CacheEvict: 从缓存中移除数据。可以根据 key 或条件移除指定的数据也可以清空整个缓存。 Caching: 组合多个缓存操作例如同时使用 Cacheable 和 CacheEvict。 Cache 接口: 定义了缓存的基本操作例如 get、put、evict 等。 CacheManager 接口: 管理 Cache 实例例如创建、获取、销毁缓存。 缓存提供者: Spring Cache 支持多种缓存实现如 Ehcache、Redis常用、Caffeine 等。 二、Spring Boot 中使用 Spring Cache 1.添加依赖至pom.xml: dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId !- or other cache provider -- /dependency 这段代码添加了 Spring Boot 的缓存 starter 和 Redis starter。 你可以根据需要替换成其他缓存提供者例如 Caffeine 或 Ehcache。 2.启用缓存: 在 Spring Boot 应用的入口类上添加 EnableCaching 注解 SpringBootApplication EnableCaching public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);} } EnableCaching 注解启用 Spring Cache 功能使 Spring 可以扫描并处理缓存相关的注解。 3.配置缓存: 可以使用 application.properties 或 application.yml 配置缓存例如使用 Redis 作为缓存提供者 spring:cache:type: redisredis:host: localhostport: 6379 * 这段配置指定了使用 Redis 作为缓存并配置了 Redis 的连接信息。 4.使用缓存注解: Service public class UserService {Cacheable(value users, key #id)public User getUserById(Long id) {System.out.println(Fetching user from database...);// Simulate database queryreturn new User(id, User id);}// Cacheable 注解会尝试从名为 users 的缓存中获取 key 为 id 的数据。如果缓存命中则直接返回缓存中的值否则执行方法体并将返回值缓存起来。CachePut(value users, key #user.id)public User updateUser(User user) {System.out.println(Updating user in database...);// Simulate database updatereturn user;}// CachePut 注解会强制执行方法体并将返回值更新到名为 users 的缓存中key 为 user 的 id。 这通常用于更新缓存数据。CacheEvict(value users, key #id)public void deleteUser(Long id) {System.out.println(Deleting user from database...);// Simulate database delete}// CacheEvict 注解会从名为 users 的缓存中移除 key 为 id 的数据。 这通常用于删除缓存数据。Caching(evict {CacheEvict(value users, key #id),CacheEvict(value users, allEntries true)})public void deleteUserAndClearCache(Long id) {System.out.println(Deleting user from database and clearing cache...);// Simulate database delete}// Caching 注解可以组合多个缓存操作。这里组合了两个 CacheEvict 操作先删除指定 id 的用户数据然后清空整个 users 缓存。 } 以上代码演示了如何使用 Cacheable、CachePut 和 CacheEvict 注解并对每个方法的代码进行了详细解释。 getUserById 方法使用了 Cacheable第一次调用会执行方法体并缓存结果后续调用相同 id 的用户会直接从缓存中获取。 updateUser 方法使用了 CachePut每次调用都会执行方法体并更新缓存。 deleteUser 方法使用了 CacheEvict根据 id 删除缓存中的用户数据。 deleteUserAndClearCache 方法使用了 Caching 组合了两个 CacheEvict 操作删除指定用户并清空整个缓存。 三、进阶用法 unless 和 condition 属性: 可以根据方法返回值或参数控制是否缓存或驱逐缓存。例如 unless #result null 表示如果返回值为 null 则不缓存。 keyGenerator 属性: 自定义缓存 key 的生成策略。 cacheManager 属性: 指定使用的 CacheManager。 cacheResolver 属性: 动态选择使用的 Cache。 四、总结 Spring Cache 提供了一种简单而强大的缓存机制可以显著提升 Spring Boot 应用的性能。通过合理使用缓存注解和配置可以有效减少数据库访问和计算量提升用户体验。本文介绍了 Spring Cache 的核心概念、使用方法和进阶用法并对示例代码进行了详细解释希望能够帮助读者更好地理解和应用 Spring Cache. 记住根据你的具体需求选择合适的缓存提供者和配置. 例如对于高并发场景Caffeine 通常是比 Redis 更好的本地缓存选择. 对于分布式应用Redis 则更合适. 并且要注意缓存 key 的设计避免 key 冲突和缓存雪崩等问题。感谢各位看官的观看谢谢~
http://www.w-s-a.com/news/969544/

相关文章:

  • 摄影课程自学网站科技项目的类型有
  • 未来最紧缺的十大专业长春seo顾问
  • 为什么点不开网站公关公司是做什么的
  • wordpress主要菜单如何对网站页面进行优化
  • 建设银行深分行圳招聘网站建立互联网公司网站
  • 湖南做旅游网站哪家最好html5手机网站免费模板
  • 云服务器上放多个网站wordpress ping大全
  • 以下属于网站的管理 更新 维护如何才能做好品牌网站建设
  • 国家工业和信息化部网站备案系统网站建设设计费用
  • 网站建设利弊宁波高端网站建设联系方式
  • 网站订票策划方案郑州代做网站
  • 免费的网站加速器注册公司邮箱
  • 千助网站建设网站整站程序
  • 自学建网站做网站优化访问网站出现目录
  • 济南网站建设是什么百度官网登录入口手机版
  • net快速建站西宁手机网站建设
  • 网站浏览器不兼容怎么办软件系统开发大概多少钱
  • 网站建设哪个公司最好shift wordpress
  • 公司网站建设功能介绍室内设计学习
  • 做网站策划容易遇到哪些问题沈阳公司网站制作
  • 做php网站都用框架吗网站备案当面核验拍摄照片
  • 泉州企业自助建站兰州最好的互联网公司
  • 监察部门网站建设方案网站seo技术教程
  • 个人网站制作源代码下载品牌建设部
  • 网站备案需要准备什么文创产品设计思路
  • 网站开发书籍推荐青岛城阳新闻最新消息
  • 秦皇岛网站建设服务聊城做网站的公司资讯
  • 30岁转行做网站设计丰涵网站建设
  • 山东省和住房建设厅网站首页开发商不按时交房可以退房吗
  • asp网站怎么做404页面跳转本地南通网站建设