@CacheName: 指定緩存實(shí)例注解
@CacheKeyMethod:緩存key生成注解
---------------------------------讀取-------------------------------------------
@ReadThroughAssignCache(assignedKey = "SomePhatKey", namespace = "Echo", expiration = 3000): 讀取指定key緩存
@ReadThroughSingleCache(namespace = SINGLE_NS, expiration = 0):讀取單個緩存
@ReadThroughMultiCache(option = @ReadThroughMultiCacheOption(generateKeysFromResult = true)):讀取多個緩存
@ReadThroughMultiCacheOption(generateKeysFromResult = true) 讀取多個緩存操作generateKeysFromResult 通過結(jié)果生成key
---------------------------------更新-------------------------------------------
@UpdateAssignCache(assignedKey = "SomePhatKey", namespace = "Echo", expiration = 3000): 指定key更新緩存
@UpdateSingleCache(namespace = SINGLE_NS, expiration = 2): 更新單個緩存(namespace 命名空間, expiration 失效時間單位秒)
@UpdateMultiCache(namespace = "Bravo", expiration = 300): 更新多個緩存
---------------------------------失效-------------------------------------------
@InvalidateAssignCache(assignedKey = "SomePhatKey", namespace = "Echo") : 指定key失效緩存
@InvalidateSingleCache(namespace = SINGLE_NS):失效單個緩存
@InvalidateMultiCache(namespace = "Delta") : 失效多個緩存
---------------------------------參數(shù)-------------------------------------------
@ParameterDataUpdateContent: 標(biāo)記方法的參數(shù)作為更新內(nèi)容。這個注解應(yīng)結(jié)合Update*Cache注解使用
@ParameterValueKeyProvider: 標(biāo)記將方法的參數(shù)做為計(jì)算緩存key.如果方法被注解的對象標(biāo)記CacheKeyMethod的方法將會用來生成緩存key否則調(diào)用toString()生成
@ParameterValueKeyProvider(order=0) 屬性表示如果多個參數(shù)做為key時需提供參數(shù)順序
與@ParameterValueKeyProvider類似的注解有:
{
@ReturnValueKeyProvider: 返回值對象中計(jì)算key
}
---------------------------------泛型處理-------------------------------------------
@BridgeMethodMappings({ @BridgeMethodMapping(methodName = "updateUser",
erasedParamTypes = { Object.class }, targetParamTypes = { AppUser.class }) }): 泛型橋接注解
methodName : 指定方法
erasedParamTypes : 擦除對象類型
targetParamTypes : 目標(biāo)轉(zhuǎn)換類型
---------------------------------計(jì)數(shù)器-------------------------------------------
@InvalidateAssignCache :在給的計(jì)算器上加1. 如果不存在則初始化為1
@DecrementCounterInCache : 在給的計(jì)數(shù)器上減1
@ReadCounterFromCache :讀取計(jì)數(shù)器
@UpdateCounterFromCache : 更新計(jì)數(shù)器
Simple-Spring-Memcached代碼閱讀之BridgeMethod
http://www.colorfuldays.org/program/java/bridgemethod%E7%9A%84%E4%BD%9C%E7%94%A8/
http://www.colorfuldays.org/tag/ssm/ 這個系列不錯
b. 以bean的方式使用Cache對象
某些場景我們希望更便捷地自己手動來管理緩存數(shù)據(jù),此時需要使用Simple-Spring-Memcached配置中定義的bean。以上面的配置文件為例,使用方法如下
bean的注入:
@Autowired private Cache appCache;
bean的使用:
appCache.set(Constants.CACHE_KEY + members.getMemberId(), 3600,cacheValue);