1. 程式人生 > 實用技巧 >CodeForces - 466E Information Graph

CodeForces - 466E Information Graph

一級快取使用的結束:

   * 會話結束,會釋放掉以上生成的一系列物件,快取也就不可用了。

* 呼叫sqlSession.close方法,會釋放掉PerpetualCache物件,一級快取不可用

* 呼叫sqlSession.clearCache方法,會清空PerpetualCache物件中的快取資料,該物件可用,一級快取不可用

* 呼叫sqlSession的update,insert,delete方法,執行commit()方法,會清空PerpetualCache物件中的快取資料,該物件可用,一級快取不可用

* 在查詢操作遠遠多於增刪改操作的情況下可以使用二級快取。因為任何增刪改操作都將重新整理二級快取,對二級快取的頻繁重新整理將降低系統性能。

在MyBatis的配置檔案中開啟二級快取。<setting name="cacheEnabled" value="true"/>

<cache/> 標籤用於宣告這個namespace使用二級快取,並且可以自定義配置。

  • type:cache使用的型別,預設是PerpetualCache,這在一級快取中提到過。
  • eviction: 定義回收的策略,常見的有FIFO,LRU。
  • flushInterval: 配置一定時間自動重新整理快取,單位是毫秒。
  • size: 最多快取物件的個數。
  • readOnly: 是否只讀,若配置可讀寫,則需要對應的實體類能夠序列化。
  • blocking
    : 若快取中找不到對應的key,是否會一直blocking,直到有對應的資料進入快取。