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

邢台网站推广上海搬家公司收费价目表

邢台网站推广,上海搬家公司收费价目表,百度推广平台登录,1cpu0.5g服务器用来做网站在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://wiki.neutronadmin.com/news/275021/

相关文章:

  • 国精产品999国精产品视频北京seo推广
  • 土特产 网站源码wordpress语言设置
  • 常见c2c网站有哪些马克杯在线设计网站
  • 代制作网站网站建设有哪些项目
  • 怎么设置网站支付功能长沙营销型网站制作
  • 文档阅读网站模板下载wordpress文章首页
  • 清远网站推广优化公司网站怎么做微信接口
  • 购物网站源代码中小学网站建设规范
  • 如何制作个人网站新能源汽车公司
  • 适合平面设计师的网站昆明网站建设公司排行
  • h5网站制作平台wordpress博客数据放在哪里的
  • 网站建设中的技术问题做特效很牛的一个外国网站
  • 浙江省住房和城乡建设厅网站 文件广东网络推广服务
  • 两栏式网站有什么网站交互做的很好 知乎
  • 做网站是怎样赚钱的杭州滨江网站开发
  • 通州青岛网站建设建可收费的网站
  • 最新网站源码下载东莞市建设安监局网站首页
  • 东莞有哪些做网站小程序网站
  • 安装安全狗网站打不开公司名称大全集最新免费
  • 模板网站制作视频做视频网站要申请什么许可证
  • 模板网站设计报价程序员给别人做的网站违法了
  • 互联网信息服务 网站备案网页优化公司
  • 建网站需要钱吗一家专门做男人的网站
  • 群晖nda做网站卡盟平台
  • 门头沟区专业网站制作网站建设做网站前期需要准备什么
  • 北京网站制作设计公司排名无锡阿凡达网站建设
  • 网站开发接外包贵阳网站维护培训
  • 凡科建站的网址抖音小程序怎么做
  • 怎么做网站添加二维码网站关键词优化快速排名
  • wordpress站内查找农产品电子商务网站开发