Java框架:Hibernate緩存

一級緩存:session級別的緩存

  • 當獲得一次會話(session),hibernate在session中創建多個集合(map),用於存放操作數據(PO對象),爲程序優化服務,如果之後需要相應的數據,hibernate優先從session緩存中獲取,如果有就使用;如果沒有再查詢數據庫。當session關閉時,一級緩存銷燬。

  • 強制刷新,讓一級緩存的數據與數據庫一至     session.flush();

一級緩存快照

  • 快照:與一級緩存存放位置是一樣,對一級緩存數據備份。保證數據庫的數據與 一級緩存的數據必須一致。如果一級緩存修改了,在執行commit提交時,將自動刷新一級緩存,執行update語句,將一級緩存的數據更新到數據庫。

 一級緩存注意:

  1. HQL會對數據進行session緩存
  2. SQL不會對數據進行session緩存
  3. Criteria會對數據進行一級緩存

二級緩存 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章