咨詢
交流群
電話

關于 Jspxcms 緩存

文檔 > 使用心得 2019-05-28 14:25 閱讀

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,但系統性能會大幅下降。

湛江市| 巴林左旗| 亳州市| 勃利县| 钟山县| 米脂县| 开原市| 郑州市| 绥德县| 金川县| 晴隆县| 曲松县| 嘉峪关市| 陇西县| 宜宾市| 汝州市| 汽车| 新泰市| 兴城市| 莒南县| 延长县| 平定县| 吉首市| 民权县| 华容县| 安多县| 大同市| 礼泉县| 荔波县| 亳州市| 阳原县| 库车县| 乐昌市| 清河县| 贵南县| 通化县| 鹰潭市| 河源市| 云霄县| 瓦房店市| 连山|