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

网站建设教程出售用苏州久远网络免费app开发工具

网站建设教程出售用苏州久远网络,免费app开发工具,网站建设典型发言,网站建设多少钱裤在Spring Boot中使用内缓存的时候需要预先知道什么是内缓存#xff0c;使用内缓存的好处。 什么是内缓存 内缓存#xff08;也称为进程内缓存或本地缓存#xff09;是指将数据存储在应用程序的内存中#xff0c;以便在需要时快速访问和检索数据#xff0c;而无需每次都从…在Spring Boot中使用内缓存的时候需要预先知道什么是内缓存使用内缓存的好处。 什么是内缓存 内缓存也称为进程内缓存或本地缓存是指将数据存储在应用程序的内存中以便在需要时快速访问和检索数据而无需每次都从外部数据源如数据库或网络获取数据。 内缓存通常用于提高应用程序的性能和响应速度因为内存访问比磁盘或网络访问更快。通过将经常使用的数据存储在内存中应用程序可以避免频繁地访问慢速的外部数据源从而提高数据访问的效率。 内缓存可以用于各种场景例如 数据库查询结果缓存将数据库查询的结果存储在内存中以便在相同的查询被再次执行时可以直接从缓存中获取结果而无需再次查询数据库。API响应缓存将API的响应结果存储在内存中以便在相同的API请求被再次发起时可以直接从缓存中获取响应结果而无需再次调用外部API。计算结果缓存将复杂的计算结果存储在内存中以便在相同的计算被再次触发时可以直接从缓存中获取结果而无需重新执行计算逻辑。 内缓存可以使用各种缓存框架或库来实现如Caffeine、EhCache、Redis等。这些缓存框架提供了方便的API和配置选项使开发人员能够轻松地在应用程序中使用内缓存。 需要注意的是内缓存是存储在应用程序的内存中的因此它的容量是有限的。过多地使用内缓存可能会导致内存占用过高从而影响应用程序的性能。因此在使用内缓存时需要根据实际需求和可用内存来进行合理的配置和管理。 案例 引入相关依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeprovided/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency在配置文件中引入数据库相关属性 spring.datasource.urljdbc:mysql://localhost:3306/test?useUnicodetruecharacterEncodingutf-8useSSLtrueserverTimezoneUTC spring.datasource.usernameroot spring.datasource.password123456 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driverspring.jpa.show-sqltrue spring.jpa.hibernate.ddl-autocreate-drop创建实体类对象其中数据库对象和实体类对象一一对应这里就不给出数据库SQL语句了 Entity //Data //NoArgsConstructor public class User {IdGeneratedValueprivate Long id;private String name;private Integer age;public User(String name, Integer age) {this.name name;this.age age;}public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public User() {} }User实体的数据访问实现 CacheConfig(cacheNames users) public interface UserRepository extends JpaRepositoryUser, Long {CacheableUser findByName(String name);User findByNameAndAge(String name, Integer age);Query(from User u where u.name:name)User findUser(Param(name) String name);}创建一个测试类 Slf4j RunWith(SpringRunner.class) SpringBootTest public class ApplicationTests {Autowiredprivate UserRepository userRepository;Autowiredprivate CacheManager cacheManager;Testpublic void test() throws Exception {// 创建1条记录userRepository.save(new User(AAA, 10));User u1 userRepository.findByName(AAA);System.out.println(第一次查询 u1.getAge());User u2 userRepository.findByName(AAA);System.out.println(第二次查询 u2.getAge());}}需要在启动类中加入EnableCaching注解: EnableCaching SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}如图我们可以看到在调用第二次的findByName的时候并没有执行select语句这样也就减少了对数据库的读取操作。 通过图片可以看到在第一次调用findByName函数之后CacheManager将这个查询结果保存下来在第二次访问的时候就可以匹配上而不需要再次访问数据库了。 Cacheable该注解用于标记方法的返回值应该被缓存。当调用带有Cacheable注解的方法时Spring Boot会首先检查缓存中是否存在对应的结果。如果存在则直接返回缓存的结果如果不存在则执行方法体中的逻辑并将结果存储到缓存中。该注解可以指定缓存的名称、缓存的键等参数。 CachePut该注解用于标记方法的返回值应该被更新到缓存中。与Cacheable不同CachePut注解会每次都执行方法体中的逻辑并将结果存储到缓存中。它通常用于更新缓存中的数据以确保缓存的数据与实际数据保持同步。 CacheEvict该注解用于标记方法的返回值应该从缓存中移除。当调用带有CacheEvict注解的方法时Spring Boot会从缓存中移除对应的结果。该注解可以指定要移除的缓存名称、缓存的键等参数。它通常用于在数据发生变化时清除缓存中的旧数据。 Caching该注解用于将多个缓存相关的注解组合在一起使用。通过Caching注解您可以在一个方法上同时使用多个缓存相关的注解以实现更复杂的缓存操作。 关于更多的Cache配置我们可以参照Spring Boot官方文档。
http://www.yutouwan.com/news/108412/

相关文章:

  • 网站建设正版软件北海网站设计
  • 怎么做游戏推广网站做电商一般注册什么公司
  • 网站建设公司一年赚多少公司简介通用模板
  • 做网站 什么语言济南想做网站
  • 微信网站开发登录智慧园区建设总体方案
  • 青岛外贸网站设计彬县网站
  • ps网站界面设计沈阳曙光医院
  • 如何做的网站手机可以用在线crm系统排名
  • 网站群方案春季高考网站建设
  • python网站开发项目中国建设银行演示网站
  • 网站的构建是怎样的汉中微信网站建设公司
  • 温江建设局网站成品视频直播软件推荐哪个好一点安全
  • 二手车网站源码cdn网站
  • 西安网站建设新闻郑州网站设计费用
  • 如何网络推广自己的产品佛山网站页面优化
  • 洛阳网站建设启辰网络phpcms律师网站源码大气律师事务所模板
  • 免费的行情网站ifind是网站设置桌面快捷方式
  • 网站建设和维护的教程自己买主机可以做网站吗
  • 西安网站建设网络公司如何在720云网站做全景视频下载
  • 淘宝了做网站卖什么好最大的设计公司
  • 任县网站建设设计cms wordpress 国内
  • 新乡专业的网站建设公司文化创意产品设计
  • asp全静态企业网站濮阳网络
  • 龙岩做网站怎么做网站怎么做搜索
  • 二级菜单网站如何做伪静态预登记网站开发 会议
  • 好模板网站二手车网站源码
  • 长沙专业建网站潍坊手机网站建设
  • iis7 无法访问此网站厦门网站设计大概多少钱
  • 北京网站改版价格苏州关键词排名系统
  • 外贸开源网站网站是怎么做排名的