亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Hibernate緩存策略

難度中級
時長34分
學習人數
綜合評分9.63
124人評價 查看評價
9.7 內容實用
9.6 簡潔易懂
9.6 邏輯清晰
  • hibernate的緩存策略(ppt內容)

    1.什么是緩存?:并不是指計算機的內存或者CPU的一二級緩存

    緩存是指為了降低應用程序對物理數據源訪問的頻次,從而提高應用程序的運行性能的一種策略

    2.為什么使用緩存?

    ORM框架訪問數據庫的效率直接影響應用程序的運行速度,提升和優化ORM框架的執行效率至關重要。

    Hibernate的緩存是提升和優化Hibernate執行效率的重要手段,所有學會Hibernate緩存的使用和配置是優化的關鍵。

    3.緩存的工作原理

    一級緩存

    1.Hibernate一級緩存又稱為“Session緩存”、“會話級緩存”。

    2.通過Session從數據庫查詢實體時會把實體在內存中存儲起來,下一次查詢同一實體時不再從數據庫獲取,而從內存中獲取,這就是緩存。

    3.一級緩存的生命周期和Session相同;Session銷毀,它就銷毀。

    4.一級緩存中的數據可適用范圍在當前會話之內。

    一級緩存的API的API

    一級緩存無法取消,用二個方法管理。

    evict():用于將某個對象從session的一級緩存中清除

    clear():用于將一級緩存中的所有對象全部清除

    用法:

    一級緩存也有些時候會對程序的性能產生影響


    二級緩存

    二級緩存又稱為“全局緩存”、“應用級緩存”

    二級緩存中的數據可適用范圍是當前應用的所有會話

    二級緩存是可插拔式緩存,默認是EHCache,還支持其他二級緩存組件如:Hashtable、OSCache、SwarmCache、JBoss TreeCache等

    二級緩存的配置步驟

    1.添加二級緩存對應的jar包

    ehcache.jar.zip

    2.在hibernate的配置文件中添加Privider類的描述


    3.添加二級緩存的屬性配置

    hibernate.cfg.xml中

    4.在需要被緩存的表所對應的映射文件中添加<cache/>標簽

    <cache/>標簽的詳細介紹:

    usage:指定緩存策略,可選的策略包括:transactional,read-write,nonstrict-read-write或read-only(只讀)

    region:指定二級緩沖區域名

    include:指定是否緩存延遲加載的對象;all,表示緩存所有對象;non-lazy,表示不緩存延遲加載的對象


    總結:

    在通常情況下會將具有以下特征的數據放入到二級緩存中

    很少被修改的數據。

    不是很重要的數據,允許出現偶爾并發的數據。

    不會被高并發訪問的數據。

    參考數據。

    Hibernate的緩存能提高檢索效率

    Hibernate的緩存分為一級緩存和二級緩存。一級緩存是會話級緩存,二級緩存是應用級緩存。

    Hibernate的緩存在提高檢索的同時,也會增加服務器的消耗,所有要注意緩存的使用策略。


    查看全部
  • hibernate緩存策略的總結

    查看全部
  • 一二級緩存對比

    查看全部
  • 一級緩存的常用方法:

    一級緩存無法取消,可以調用方法進行管理?

    //evict方法清除一級緩存中的指定對象
    session.evict(emp);
    //clear方法清空session中的所有內容
    session.clear();
    Query?query?=?session.createQuery("from?Employee");
    List?list?=?query.list();//不會使用session緩存,但是能夠產生緩存,每次都會到數據庫進行查詢
    Iterator?iterator?=?query.iterator();//先查詢所有對象的主鍵ID,根據ID去
    緩存中進行查詢,如果能夠查詢到直接返回,查詢不到則查詢數據庫


    查看全部
    • 一級緩存的生命周期和session相同

    • 一級緩存的數據的適用范圍只能使用在當前會話之內

    查看全部
  • 一級緩存也稱session緩存

    • 同一個session進行兩次相同的查詢會默認使用緩存,即第二次查詢不會查詢數據庫,只發送一條sql語句,第二次查詢是直接從session緩存中獲取的

    • session緩存中,對持久化的每個實例都對應一個OID,當OID一致時,即不進行數據庫查詢,直接從緩存中獲取數據即可

    • 不同的session即便查詢的是同一個實例,也會發出兩條sql語句


    查看全部
  • 緩存的工作原理

    緩存是直接存儲在內存當中,訪問速率比較高,當應用程序對數據進行訪問的時候,首先會查看緩存當中是否包含數據,如果包含則直接調用,如果不包含,則再查詢數據庫;同時將查詢到的數據返回給應用程序,也會重新放到緩存當中,供下次查詢緩存使用

    查看全部
  • hibernate一二級緩存的對比

    查看全部
  • cache標簽的屬性配置

    查看全部
  • 二級緩存配置:

    添加ehcache.jar、commons-logging.jar

    在hibernate.cfg.xml中添加:

    <property?name="cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>

    在實體類的.hbm.xml文件中配置cache標簽

    查看全部
  • 二級緩存應用

    查看全部
  • 一級緩存的API

    查看全部
  • Hibernate一級緩存

    查看全部
  • 使用不同的Session對象分別查詢一次,兩次都會發送SQL語句

    查看全部
  • 同一個Session對象執行兩次get方法,如果是同一條數據,只會在第一次發送SQL語句,第二次直接在緩存中取。

    查看全部
首頁上一頁1234567下一頁尾頁

舉報

0/150
提交
取消
課程須知
學習本門課程之前,建議先了解一下以下知識,會更有助于理解和掌握本門課程: 1、掌握ORM框架的基礎知識 2、能使用Hibernate對Mysql數據庫進行簡單操作
老師告訴你能學到什么?
1、ORM框架中緩存的基本工作原理 2、Hibernate中緩存的分類和使用 3、掌握使用緩存針對項目進行性能優化的原則

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!