Hibernate緩存基礎知識

最近,我嘗試了休眠緩存。 在這篇文章中,我想分享我的經驗,并指出Hibernate Second Level Cache的一些細節。 在此過程中,我將指導您閱讀一些有助于實現緩存的文章。 讓我們從地面開始。

在休眠狀態下緩存

緩存功能旨在減少必要的數據庫訪問量。 緩存對象時,它們將駐留在內存中。 您可以靈活地限制內存的使用并將項目存儲在磁盤存儲中。實現取決于底層的緩存管理器。 可以使用多種緩存類型,但是更好地緩存非事務性和只讀數據。

Hibernate提供了3種緩存類型。

1.會話緩存

會話緩存在當前會話中緩存對象。 在Hibernate中默認啟用它。 閱讀有關會話緩存的更多信息。 會話緩存中的對象位于相同的內存位置。

2.二級緩存

二級緩存負責跨會話緩存對象。 啟用此選項后,將首先在緩存中搜索對象,如果未找到對象,則將觸發數據庫查詢。 在這里閱讀有關如何實現二級緩存的信息 。 當使用對象的主鍵加載對象時,將使用二級緩存。 這包括獲取關聯。 在二級緩存的情況下,將構造對象,因此所有對象將駐留在不同的內存位置。

3.查詢緩存

查詢緩存用于緩存查詢結果。 閱讀有關如何實現查詢緩存的信息 。打開查詢緩存時,查詢結果將根據組合查詢和參數進行存儲。 每次觸發查詢時,緩存管理器都會檢查參數和查詢的組合。 如果在高速緩存中找到結果,則將它們返回,否則將啟動數據庫事務。 如您所見,如果查詢具有多個參數或單個參數可以包含多個值,則緩存查詢不是一個好主意。 對于每種組合,結果都存儲在存儲器中。 這會導致大量的內存使用。

最后,這是有關此主題的好文章列表,

1. 通過二級緩存加速您的Hibernate應用程序
2. 休眠:真正了解二級和查詢緩存
3. EhCache與Spring和Hibernate集成。 分步教程 4. 使用休眠配置Ehcache

參考: 有關 “面向對象的生活”博客的JCG合作伙伴 Manu PK的所有有關Hibernate Second Level Cache的信息。


翻譯自: https://www.javacodegeeks.com/2012/08/hibernate-caches-basics.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371696.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371696.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371696.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TP3.2之WHERE組合條件處理

1、條件都是int類型: $User->where(type1 AND status1)->select(); 2、條件包含字符串類型: 使用3.1以上版本的話,使用字符串條件的時候,建議配合預處理機制,確保更加安全, $Model->where("i…

linux-ssh遠程后臺執行腳本-放置后臺執行問題(轉)

寫了一個監控負載的小腳本(死循環,測試結束后再kill對應進程),因需要監控多臺服務器,所以在一臺服務器上使用ssh統一執行腳本遇到問題:使用ssh root172.16.146.20 /usr/local/luly/loadavg.sh 2 2 &執行…

python2.7輸入函數_Python2.7的用戶輸入函數有問題,無法讓這些輸入與程序一起工作...

我對python世界還是個新手,雖然我已經用php做了很多工作。。。這是我的案子。。。在我正在用python2.7為我的小程序編寫一些代碼。在在那個程序中,我需要2個用戶輸入,它們都是數字。在第一個數字不得大于11,也不得小于0。在第二個…

創建Java動態代理

Java動態代理機制提供了一種有趣的方式來創建代理實例。 不過&#xff0c;創建動態代理的步驟有些繁瑣&#xff0c;請考慮將代理用于審核服務實例的方法調用所花費的時間– public interface InventoryService {public Inventory create(Inventory inventory);public List<I…

html5有哪些新特性、移除了那些元素?如何處理HTML5新標簽的瀏覽器兼容問題?如何區分 HTML 和 HTML5?...

新特性&#xff1a; 1. 拖拽釋放(Drag and drop) API 2. 語義化更好的內容標簽&#xff08;header,nav,footer,aside,article,section&#xff09; 3. 音頻、視頻API(audio,video) 4. 畫布(Canvas) API 5. 地理(Geolocation) API 6. 本地離線存儲 localStorage 長期存儲數據&am…

Substring with Concatenation of All Words 題解

題意 You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in words exactly once and without any intervening characters. For example, give…

java udp丟包_linux 系統 UDP 丟包問題分析思路

最近工作中遇到某個服務器應用程序 UDP 丟包&#xff0c;在排查過程中查閱了很多資料&#xff0c;總結出來這篇文章&#xff0c;供更多人參考。在開始之前&#xff0c;我們先用一張圖解釋 linux 系統接收網絡報文的過程。● 首先網絡報文通過物理網線發送到網卡● 網絡驅動程…

【SQL】分組數據,過濾分組-group by , having

學習筆記&#xff0c;原文來自http://blog.csdn.net/robinjwong/article/details/24845125 創建分組 - GROUP BY 分組是在SELECT語句的GROUP BY子句中建立的。它的作用是通過一定的規則將一個數據集劃分成若干個小的區域&#xff0c;然后針對若干個小區域進行數據處理。SELECT子…

使用EasyMock或Mockito

我大部分時間都在使用EasyMock &#xff0c;但是最近我和一些非常愿意使用Mockito的人一起工作。 我不打算在同一項目中使用兩個框架來實現相同的目的&#xff0c;因此我采用了Mockito 。 因此&#xff0c;在過去的幾個月中&#xff0c;我一直在使用Mockito &#xff0c;這是我…

CentOS下iptables 配置詳解

如果你的IPTABLES基礎知識還不了解,建議先去看看. 開始配置 我們來配置一個filter表的防火墻. (1)查看本機關于IPTABLES的設置情況 [roottp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination Chain FORWARD (policy…

java lambda 多個參數_Java Lambda行為參數化

Java Lambda行為參數化我們可以將lambda表達式作為參數傳遞給方法。例子以下代碼創建了一個名為Calculator的函數接口。在Calculator中有一個稱為calculate的方法&#xff0c;它接受兩個int參數并返回一個int值。在Main類中有一個引擎方法&#xff0c;它接受函數接口Calculator…

具有關聯映射的Hibernate Composite ID

最近&#xff0c;我們面臨著帶有復合id字段的休眠關聯映射的棘手情況。 我們需要與一對一和多對一建立雙向關聯。我們的拖曳表是“ REPORT”和“ REPORT_SUMMARY”&#xff0c;它們之間具有從REPORT到REPORT_SUMMARY的一對多關系&#xff0c;而從REPORT_SUMMARY到REPORT表。 RE…

ZooKeeper應用場景

ZooKeeper是一個高可用的分布式數據管理與系統協調框架。基于對Paxos算法的實現&#xff0c;使該框架保證了分布式環境中數據的強一致性&#xff0c;也正是基于這樣的特性&#xff0c;使得ZooKeeper解決很多分布式問題。網上對ZK的應用場景也有不少介紹&#xff0c;本文將結合作…

java main test_java調用main自動執行testng方法一

主方法import com.com.utlis.createTestngXml;import org.testng.TestNG;import java.util.ArrayList;import java.util.List;/*** author lw* createTime 2019/3/30 15:35* description testng調試類*/public class inittet {private static final String ESCAPE_PROPERTY &q…

有趣的Ruby-學習筆記3

Ruby方法方法名要以小寫字母開頭。假設用大寫字母開頭會被作為常量 &#xff08;這點非常奇怪&#xff09;定義一個無參的方法def method_name expr.. end定義一個有參的方法def method_name (var1, var2)expr.. end給參數設定默認值def method_name (var1value1, var2value2)e…

ADF:動態視圖對象

今天&#xff0c;我想寫有關動態視圖對象的文章&#xff0c;它允許我在運行時更改其數據源&#xff08;SQL查詢&#xff09;和屬性。 我將使用oracle.jbo.ApplicationModule :: createViewObjectFromQueryStmt方法來解決此問題。 我將逐步介紹如何執行此操作 創建視圖對象和應…

java stack list_JAVA自己實現List接口Stack

package 集合.Stack;import java.util.Arrays;import java.util.EmptyStackException;import java.util.Vector;public class MyStack {//底層數組默認長度為10private Object[] myStack new Object[10];//sizeprivate int size 0;public MyStack() {}//pushpublic Object pu…

刷題總結——序列操作(權值線段樹套樹狀數組)

題目&#xff1a; 題目描述 給出序列 a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff08;0≤ai≤109&#xff09;&#xff0c;有關序列的兩種操作。 1. ai&#xff08;1≤i≤n&#xff09;變成 x&#xff08;0≤x≤109&#xff09;。 2. 求 al&#xff0c;al1&#xff…

原型模式Prototype

原型模式 http://www.cnblogs.com/zhili/p/PrototypePattern.html ICloneable接口 https://msdn.microsoft.com/en-us/library/system.icloneable(vvs.110).aspx Supports cloning, which creates a new instance of a class with the same value as an existing instance. Rem…

I / O神秘化

由于對高度可擴展的服務器設計的所有炒作以及對nodejs的狂熱&#xff0c;我一直想重點研究IO設計模式&#xff0c;直到現在為止都沒有足夠的時間進行投資。 現在已經做了一些研究&#xff0c;我認為最好記下我遇到的東西&#xff0c;作為對我以及可能遇到這篇文章的任何人的未來…