这篇“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缓存分为哪些部分”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。