二級快取的一些概念

2021-08-21 15:30:03 字數 788 閱讀 7669

先說說一級快取和二級快取的區別

一級快取:  存在session中,不可解除安裝,只要使用了session就用到了一級快取,這是hibernate控制的,自己無法手動配置

當我們使用了 getl/load/find query等查詢來的資料,預設在session中就會有乙份快取資料,快取資料就是從資料庫中將一些資料拷貝乙份放到對應的地方(比如記憶體),每次會先從快取中查詢,如果沒有 再去資料庫中查詢.提高了查詢效率,也較少了對資料庫的直接操作

二級快取:是sessionfactory級別的快取 他的特點是比session的範圍大,可以做到多個session共享此資料

同時 sessionfactory快取還分兩種:

1.內快取:預置的sql語句,物件和資料庫的對映資訊(hibernate預設的)

2.外快取,儲存的是我們允許使用二級快取的物件(咱們平常說的二級快取就是外快取)

一般二級快取中不經常進行改動,但是要多次查詢資訊;對資料併發時的安全沒有要求

查詢資料時會先從一級快取中查詢;如果沒有,再從二級快取中查詢(要開啟二級快取設定才可以);如果還沒有,就會去資料庫中查詢

要使用二級快取,要先在cfg,xml中配置是否開啟二級快取,二級快取的框架,是否查詢二級快取,二級快取的策略等

true

org.hibernate.cache.hashtablecacheprovider

true

即使開啟了二級快取功能,也可以選擇不查詢二級快取

一級快取,二級快取

首先補充下cpu的知識 cpu也就是 處理器,相當於計算機的大腦 cpu是一塊超大規模的積體電路,是一台計算機的運算核心 core 和控制核心 control unit cpu功能主要是解釋計算機指令以及處理計算機軟體中的資料 處理器主要包括運算器 算術邏輯運算單元,alu,arithmetic l...

一級快取和二級快取的概念解析

1.一級快取就是session級別的快取,比如說乙個session做了乙個查詢操作,他會把這個操作結構帶到一級快取中,只要事務沒有提交 當你再次從獲取該資料時就會從一級 快取中獲取該資料,而不會查詢資料庫。2.二級快取就是sessionfactory級別的快取,也就是所當你查詢資料時會把查詢的結果方...

hibernate 一級快取 二級快取

1.什麼事快取?指為了降低應用程式對物理資料來源 mysql 訪問數次。從而提高應用程式的執行效能 2.為什麼需要快取?orm框架 去訪問資料庫的速度,直接影響到程式的執行速度。所以優化orm訪問效率比較重要。hibernate的快取是提公升和優化hibernate訪問效率。3.快取工作原理?4.一...