Hibernate一級快取(session)與二級快取(sessionFactory)的知識點。

渴睡人的眼發表於2018-07-17

        一級快取:session級別的快取,當我們用session呼叫  get() / load() / find() / Query()等查詢出來的資料,預設在session中就會有一份快取資料,快取資料就是從資料庫中將一些資料拷貝一份放到對應的地方。每次獲取資料時候,會先從快取中查詢,如果沒有再去資料庫查詢。提高了查詢效率,減少了對資料庫的直接操作。若不想使用一級快取,則需要手動封裝方法,方法內部先呼叫session.clear();

        ·一級快取 不可解除安裝。只要使用了session 肯定就用到了session快取,它hibernate控制的,我們不能手動配置。

        二級快取:sessionFacory級別的快取可以做到多個session共享此資料。sessionFactory快取分類:一、內快取:預製sql語句。物件和資料庫的對映資訊。二、外快取:儲存的是我們允許使用的二級快取對

        二級快取中的資料應具有:1.不經常進行改動的資訊,多次查詢的資訊。2.對資料併發時候的安全沒有要求。

        快取中查詢資料的順序:先從一級快取中查詢,如果沒有再從二級快取中查詢,如果還沒有,則從資料庫中查詢。

相關文章