Jspxcms缓存分为哪些部分
这篇“Jspxcms缓存分为哪些部分”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Jspxcms缓存分为哪些部分”文章吧。
Jspxcms本身并没有做专门的缓存处理。系统中使用到JPA,所有的缓存都是由JPA处理的。所以这里讲的缓存,其实就是JPA的缓存。详细知识可以查看JPA或Hibernate文档中有关缓存的部分。
JPA缓存分为三部分,一级缓存、二级缓存和查询缓存。
一级缓存是JPA固有的功能,即一个session周期内,里面的对象会放到缓存里。一级缓存只缓存单个的对象。在一个session周期内,多次查询同一个对象,只会读取一次数据库,以后都从缓存中读取。这种缓存默认就打开,而且不能被关闭。
二级缓存是在多个session周期内共享的缓存,比如在一个session周期内查询的对象,下一个session周期再查询同一个对象,会从缓存中读取,而不用查询数据库。除了单个的对象,one to many的集合也可以放到二级缓存里面。
查询缓存可以对sql语句的结果进行缓存。
session周期是指什么呢?这里说的session是JPA的session,不是http的session。使用JPA一般会开启 Open Session In View,也就是一次http请求就是一个session周期。
在JPA中,二级缓存和查询缓存默认是关闭的。在Jspxcms中打开了这两种缓存,配置文件:/WEB-INF/classes/conf/spring.jpa.properties
# 二级缓存spring.jpa.properties.hibernate.cache.use_second_level_cache=true# 查询缓存spring.jpa.properties.hibernate.cache.use_query_cache=true
缓存对于cms这种需要应对大量访问的系统,是至关重要的。但因为缓存的存在,直接手动修改数据库数据,页面上的数据并不会变化,需要重启Tomcat才能读出改动后的数据。如果因为某种原因一定要关闭缓存,可以将这两种缓存设置为false,但系统性能会下降。
以上就是关于“Jspxcms缓存分为哪些部分”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341