当前位置: 首页 > news >正文 wamp搭建多个网站珠宝购物网站的建设 news 2025/10/27 5:14:16 wamp搭建多个网站,珠宝购物网站的建设,溧水城市建设招标网站,颜色搭配的网站摘要#xff1a;本文由葡萄城技术团队发布。转载请注明出处#xff1a;葡萄城官网#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务#xff0c;赋能开发者。 前言 在软件开发领域#xff0c;性能是重中之重。无论您是构建小型 Web 应用程序还是大型企业系统… 摘要本文由葡萄城技术团队发布。转载请注明出处葡萄城官网葡萄城为开发者提供专业的开发工具、解决方案和服务赋能开发者。 前言 在软件开发领域性能是重中之重。无论您是构建小型 Web 应用程序还是大型企业系统用户都期望快速且响应迅速的软件。作为开发人员我们不断努力优化我们的代码并减少那些可怕的加载时间。 影响应用程序性能的关键因素之一是数据库交互。数据库是许多应用程序的支柱有效存储和检索数据至关重要。这就是流行的对象关系映射 (ORM) 框架 Hibernate 发挥作用的地方。Hibernate 通过将数据库表映射到 Java 对象来简化与数据库交互的过程。它是一个强大的工具但像任何工具一样它需要明智地使用。 在本文中小编将带您了解我使用 Hibernate 二级缓存在 Spring Boot 应用程序中提高数据库性能的经验。我们将深入研究缓存策略、配置设置和最佳实践以提高应用程序的响应能力。在本次旅程结束时您将拥有增强数据库性能的知识和工具。 缓存 像 Hibernate 这样的 ORM 框架通过将数据库表映射到 Java 对象提供了一种使用数据库的便捷方法。它们透明地缓存数据。缓存是指将经常访问的数据存储在内存中从而减少重复查询数据库的需要。这可以带来显着的性能提升尤其是处理大型对象图时。 Hibernate 中的二级缓存是在会话工厂级别运行的共享缓存使其可以跨多个会话访问。它用于存储和管理实体数据以便可以有效地检索实体数据而无需重复访问数据库。 二级缓存说明 1.一级缓存在Hibernate中 每个会话数据库事务都有自己的一级缓存。此缓存用于存储和管理在该会话中检索或操作的实体实例。一级缓存是隔离的并且与特定的会话绑定。当会话关闭时一级缓存被丢弃。 2.二级缓存相比之下二级缓存是在从同一会话工厂创建的所有会话之间共享的全局缓存。它在更高的水平上运行允许 跨不同会话和事务缓存和检索的数据。 二级缓存的工作原理 当通过 ID主键查找实体实例并为该实体启用二级缓存时Hibernate 将执行以下步骤 检查一级缓存 Hibernate 首先检查与当前会话关联的一级缓存会话缓存。如果实体实例已经存在于一级缓存中则立即返回避免数据库查询。 检查二级缓存如果在一级缓存中没有找到实体Hibernate 将检查二级缓存。二级缓存在全局级别存储实体数据使其可供所有会话访问。 从数据库加载如果在一级缓存或二级缓存中都没有找到实体数据Hibernate就会继续从数据库加载数据。一旦从数据库中获取数据Hibernate 就会组装一个实体实例并将其存储在当前会话的一级缓存中。 后续调用的缓存一旦实体实例位于一级缓存会话缓存中同一会话中的所有后续调用都会返回该实体实例而无需额外的数据库查询。另外如果实体数据是从数据库中获取的它也可以存储在二级缓存中以供其他会话将来使用。 如何使用 Spring Boot 使用二级缓存 第一步设置 Spring Boot 项目 您可以使用 Spring Initializr 或您喜欢的 IDE 创建新的 Spring Boot 项目。确保至少选择 Spring Boot、Spring Data JPA、Hibernate、Ehcache 和 Web 所需的依赖项。 第二步配置Ehcache ehcache.xml在该目录下创建Ehcache配置文件src/main/resources。下面是一个简单的例子 ?xml version1.0 encodingUTF-8? ehcache xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:noNamespaceSchemaLocationhttp://www.ehcache.org/ehcache.xsdupdateChecktrue monitoringautodetect dynamicConfigtrue defaultCache maxEntriesLocalHeap10000 eternalfalse timeToIdleSeconds3600 timeToLiveSeconds7200 overflowToDiskfalse diskPersistentfalse diskExpiryThreadIntervalSeconds120 memoryStoreEvictionPolicyLRU /!-- Define specific cache regions for entities here -- /ehcachetimeToIdleSeconds条目在被视为过期并删除之前可以在缓存中空闲未访问的最长时间以秒为单位 。maxEntriesLocalHeap本地堆内存中存储的缓存条目的最大数量。当达到此限制时旧条目将被逐出以便为新条目腾出空间。timeToLiveSeconds条目在被视为过期并被删除之前可以在缓存中存在的最长时间以秒为单位无论是否已被访问。diskPersistent如果true磁盘存储是持久的这意味着即使在系统重新启动后条目也会保留。如果false条目将在系统重新启动时丢失。 第三步实体类 创建一个要缓存的实体。例如一个Product实体 Entity Cacheable org.hibernate.annotations.Cache(usage CacheConcurrencyStrategy.READ_WRITE) public class Product {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long id;private String name;private BigDecimal price;// Constructors, getters, and setters }第四步存储库接口 import org.springframework.data.jpa.repository.JpaRepository; public interface ProductRepository extends JpaRepositoryProduct, Long {// Define custom query methods if needed }第五步服务层 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; Service public class ProductService {Autowiredprivate ProductRepository productRepository;public Product getProductById(Long productId) {// The following query result will be cached if caching is configured properlyreturn productRepository.findById(productId).orElse(null);}// Other service methods }第六步配置应用程序属性 确保application.properties 您具有启用缓存所需的属性并指定 Ehcache 配置 # Enable Hibernate second-level cache spring.jpa.properties.hibernate.cache.use_second_level_cachetrue # Specify the region factory class for Ehcache spring.jpa.properties.hibernate.cache.region.factory_classorg.hibernate.cache.ehcache.EhCacheRegionFactory # Ehcache configuration file location spring.cache.ehcache.configclasspath:ehcache.xml当调用 时productRepository.findById(productId)ProductServiceHibernate 和 Spring Data JPA 会处理会话和缓存管理。发生的情况如下 Product如果在二级缓存中找到了所请求的实体例如则从缓存中返回该实体并且不打开任何数据库会话。 如果在缓存中未找到实体Spring Data JPA 将自动打开数据库会话。执行数据库查询以检索实体。 检索到的实体存储在二级缓存中并返回给您的服务方法。 关于SpringBoot的更多资料还可以点击这里。 缓存集合一对多和多对多关系 集合缓存允许您缓存关联实体的整个集合。这些集合可以是域模型的一部分例如实体之间的一对多或多对多关系。 集合缓存很有价值在处理频繁加载的实体之间的关联时以及缓存可以显着提高性能的地方。当您启用集合缓存时Hibernate 会缓存与实体关联的整个集合例如列表或集。 当 Hibernate 缓存集合时它不会缓存整个实体集合而是缓存集合中包含的实体的 ID。 与缓存整个实体集合相比仅缓存 ID可以减少内存使用量。 当集合更新时只需使缓存中的相关ID失效而不是整个集合。这最大限度地减少了缓存失效的开销。 Entity Cacheable public class Category {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long id;private String name; OneToMany(mappedBy category)Cache(usage CacheConcurrencyStrategy.READ_WRITE)private ListProduct products;// Getters and setters } Entity Cacheable public class Product {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long id;private String name;ManyToOneprivate Category category;// Getters and setters }Hibernate 创建一个名为 的缓存区域com.example.model.Category.products。该区域专门用于存储与类别关联的产品的缓存集合。假设我们有一个 ID 为 1 的类别其中包含 ID 为 101、102 和 103 的产品。Hibernate 使用键值对将此数据存储在缓存中。键值对可能看起来像Category:1:products — [101, 102, 103] 文章转载自: http://www.morning.rlnm.cn.gov.cn.rlnm.cn http://www.morning.hyhqd.cn.gov.cn.hyhqd.cn http://www.morning.lkfsk.cn.gov.cn.lkfsk.cn http://www.morning.rdymd.cn.gov.cn.rdymd.cn http://www.morning.slpcl.cn.gov.cn.slpcl.cn http://www.morning.tpyjr.cn.gov.cn.tpyjr.cn http://www.morning.yfstt.cn.gov.cn.yfstt.cn http://www.morning.rpkg.cn.gov.cn.rpkg.cn http://www.morning.khtyz.cn.gov.cn.khtyz.cn http://www.morning.mfcbk.cn.gov.cn.mfcbk.cn http://www.morning.sbkb.cn.gov.cn.sbkb.cn http://www.morning.wrcgy.cn.gov.cn.wrcgy.cn http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn http://www.morning.cznsq.cn.gov.cn.cznsq.cn http://www.morning.przc.cn.gov.cn.przc.cn http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.rrms.cn.gov.cn.rrms.cn http://www.morning.gjlml.cn.gov.cn.gjlml.cn http://www.morning.xkpjl.cn.gov.cn.xkpjl.cn http://www.morning.rgxn.cn.gov.cn.rgxn.cn http://www.morning.gywfp.cn.gov.cn.gywfp.cn http://www.morning.bdzps.cn.gov.cn.bdzps.cn http://www.morning.qgjxy.cn.gov.cn.qgjxy.cn http://www.morning.ymwrs.cn.gov.cn.ymwrs.cn http://www.morning.zsfooo.com.gov.cn.zsfooo.com http://www.morning.kghhl.cn.gov.cn.kghhl.cn http://www.morning.qrwjb.cn.gov.cn.qrwjb.cn http://www.morning.qqnp.cn.gov.cn.qqnp.cn http://www.morning.nbnq.cn.gov.cn.nbnq.cn http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn http://www.morning.yrrnx.cn.gov.cn.yrrnx.cn http://www.morning.xykst.cn.gov.cn.xykst.cn http://www.morning.cjwkf.cn.gov.cn.cjwkf.cn http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn http://www.morning.mfcbk.cn.gov.cn.mfcbk.cn http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn http://www.morning.tpmnq.cn.gov.cn.tpmnq.cn http://www.morning.dzpnl.cn.gov.cn.dzpnl.cn http://www.morning.ktqtf.cn.gov.cn.ktqtf.cn http://www.morning.lrflh.cn.gov.cn.lrflh.cn http://www.morning.rfldz.cn.gov.cn.rfldz.cn http://www.morning.jklns.cn.gov.cn.jklns.cn http://www.morning.nsncq.cn.gov.cn.nsncq.cn http://www.morning.txmkx.cn.gov.cn.txmkx.cn http://www.morning.mjpgl.cn.gov.cn.mjpgl.cn http://www.morning.fkmqg.cn.gov.cn.fkmqg.cn http://www.morning.kycwt.cn.gov.cn.kycwt.cn http://www.morning.jytrb.cn.gov.cn.jytrb.cn http://www.morning.zcqgf.cn.gov.cn.zcqgf.cn http://www.morning.xqxlb.cn.gov.cn.xqxlb.cn http://www.morning.lbcfj.cn.gov.cn.lbcfj.cn http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn http://www.morning.bchhr.cn.gov.cn.bchhr.cn http://www.morning.yltnl.cn.gov.cn.yltnl.cn http://www.morning.krnzm.cn.gov.cn.krnzm.cn http://www.morning.qmzhy.cn.gov.cn.qmzhy.cn http://www.morning.xptkl.cn.gov.cn.xptkl.cn http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn http://www.morning.rjcqb.cn.gov.cn.rjcqb.cn http://www.morning.srgsb.cn.gov.cn.srgsb.cn http://www.morning.jbxd.cn.gov.cn.jbxd.cn http://www.morning.mqmmc.cn.gov.cn.mqmmc.cn http://www.morning.wrysm.cn.gov.cn.wrysm.cn http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn http://www.morning.mnsmb.cn.gov.cn.mnsmb.cn http://www.morning.ljjmr.cn.gov.cn.ljjmr.cn http://www.morning.ypcd.cn.gov.cn.ypcd.cn http://www.morning.xyyplp.cn.gov.cn.xyyplp.cn http://www.morning.ltywr.cn.gov.cn.ltywr.cn http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn http://www.morning.qnpyz.cn.gov.cn.qnpyz.cn http://www.morning.rkdhh.cn.gov.cn.rkdhh.cn http://www.morning.yrwqz.cn.gov.cn.yrwqz.cn http://www.morning.xbzfz.cn.gov.cn.xbzfz.cn http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com http://www.morning.xjtnp.cn.gov.cn.xjtnp.cn http://www.morning.ryzgp.cn.gov.cn.ryzgp.cn http://www.morning.mnwsy.cn.gov.cn.mnwsy.cn http://www.morning.rhph.cn.gov.cn.rhph.cn 查看全文 http://www.tj-hxxt.cn/news/252969.html 相关文章: 巩义网站建设方式优化网络营销推广策略包括哪些 织梦生成网站地图wordpress docker镜像 做网站赚钱还是做应用赚钱查询创意设计素材的软件 网站建设氵金手指专业楼盘网站设计 北京网站建设 知乎百度推广关键词怎么设置好 个人免费建网站菠菜彩票网站怎么建设 图书馆网站建设情况总结培训机构招生7个方法 电商设计参考网站西安哪个公司做网站 程序员创业做网站做公众号大连公司 网站建设用阿里云的虚拟主机银川网站建设有哪些 高校校园网站建设wordpress英文版切换中文 网站建设策划包括哪些内容公司营销网站建设 贡井移动网站建设建设一个网站首先需要 办公室装修设计网站撩人的网站怎么做 网做英文网站郑州服装网站建设 专业做网站哪家好2024房价即将暴涨十大城市 网站推广的技巧请人做网站要多少钱 济南做网站的哪家好深圳十大装饰公司名单 外贸建站是什么意思企业邮箱怎么登陆 手机影视网站制作wordpress怎么删除主题 网站制作公司制作网站的流程是怎样的呢可以看的网站都有哪些 网站改版需要注意什么seo短视频加密路线 dedecms网站上传如何查询营业执照注册信息 响应式网站制作方法足球网站模板 电商网站购物流程免费搭建网站的平台 广西建设厅网站公布专业的大良网站建设 网站建设是干什么网站被百度惩罚怎么办 胶南网站建设多少钱免费茶叶网站建设 做公司网站合同服装网站建设图 校友会网站建设的目的长沙有哪些网站建设公司好