基於xml的配置感覺沒有註解形式簡單明瞭,咱不考慮了。
進入正題之前先提個疑問,希望知道的人能告訴一下
下述介紹會有這段**:
@cacheable(value="mycache", key="'get'+#userno")view code 上述參考文章沒有講到的部分知識點,從@參考文章2public string get(string userno)
//將查詢到的資料快取到mycache中,並使用方法名稱加上引數中的userno作為快取的key
//通常更新操作只需重新整理快取中的某個值,所以為了準確的清除特定的快取,故定義了這個唯一的key,從而不會影響其它快取值
@cacheable(value="
mycache
", key="
'get'+#userno
")
public string get
(string userno)
@cacheevict(value="
mycache
", key="
'get'+#userno
")
public
void
update(string userno)
//allentries為true表示清除value中的全部快取,預設為false
@cacheevict(value="
mycache
", allentries=true
)
public
void
removeall()
}
找了些資料做補充
@caching註解可以讓我們在乙個方法或者類上同時指定多個spring cache相關的註解。其擁有三個屬性:cacheable、put和evict,分別用於指定@cacheable、@cacheput和@cacheevict。view code@caching(cacheable = @cacheable("
users
"), evict = )
public
user find(integer id)
在支援spring cache的環境下,對於使用@cacheable標註的方法,spring在每次執行前都會檢查cache中是否存在相同key的快取元素,如果存在就不再執行該方法,而是直接從快取中獲取結果進行返回,否則才會執行並將返回結果存入指定的快取中。@cacheput也可以宣告乙個方法支援快取功能。與@cacheable不同的是使用@cacheput標註的方法在執行前不會去檢查快取中是否存在之前執行過的結果,而是每次都會執行該方法,並將執行結果以鍵值對的形式存入指定的快取中。
@cacheput也可以標註在類上和方法上。使用@cacheput時我們可以指定的屬性跟@cacheable是一樣的。
@cacheput(
"users
")//
每次都會執行方法,並將結果存入指定的快取中
public
user find(integer id)
上述2步驟後,就可以愉快的使用了!~
spring快取cache的使用
在spring配置檔案中新增schema和spring對快取註解的支援 xmlns xmlns aop xmlns xsi xmlns mvc xmlns context xmlns tx xmlns p xmlns cache xsi schemalocation spring beans 3.0...
spring的Cache註解和redis的區別
1 不支援ttl,即不能設定過期時間 expires time,springcache 認為這是各個cache實現自己去完成的事情,有方案但是只能設定統一的過期時間,明顯不夠靈活。2 內部呼叫,非 public 方法上使用註解,會導致快取無效。內部呼叫方法的時候不會呼叫cache方法。由於 spri...
spring 3 1中的cache小結
spring 3.1中有cache了,下面結合目前網上的一些資料和手冊的歸納總結下 1 cache註解 在3.1中,都是用註解的了,cacheable註解可以用在方法或者類級別。當他應用於方法級別的時候,就是如上所說的快取返回值了。當應用在類級別的時候,這個類的所有方法的返回值都將被快取。cache...