少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          @CacheName指定緩存實例注解

          @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 通過結果生成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") : 失效多個緩存

           

          ---------------------------------參數-------------------------------------------

          @ParameterDataUpdateContent標記方法的參數作為更新內容。這個注解應結合Update*Cache注解使用

          @ParameterValueKeyProvider: 標記將方法的參數做為計算緩存key.如果方法被注解的對象標記CacheKeyMethod的方法將會用來生成緩存key否則調用toString()生成

          @ParameterValueKeyProvider(order=0) 屬性表示如果多個參數做為key時需提供參數順序

          與@ParameterValueKeyProvider類似的注解有:

          {

            @ReturnValueKeyProvider返回值對象中計算key

          }

          ---------------------------------泛型處理-------------------------------------------

          @BridgeMethodMappings({ @BridgeMethodMapping(methodName = "updateUser", 

          erasedParamTypes = { Object.class }, targetParamTypes = { AppUser.class }) }): 泛型橋接注解

          methodName 指定方法

          erasedParamTypes 擦除對象類型

          targetParamTypes 目標轉換類型

           

           

          ---------------------------------計數器-------------------------------------------

          @InvalidateAssignCache  :在給的計算器上加1. 如果不存在則初始化為1

          @DecrementCounterInCache 在給的計數器上減1

           

          @ReadCounterFromCache  :讀取計數器

          @UpdateCounterFromCache 更新計數器

           

           

           

          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對象

          某些場景我們希望更便捷地自己手動來管理緩存數據,此時需要使用Simple-Spring-Memcached配置中定義的bean。以上面的配置文件為例,使用方法如下
          bean的注入:

          @Autowired private Cache appCache;

          bean的使用:

          appCache.set(Constants.CACHE_KEY + members.getMemberId(), 3600,cacheValue);
          posted on 2013-04-03 18:43 abin 閱讀(1498) 評論(2)  編輯  收藏 所屬分類: memcache

          Feedback

          # re: simple-spring-memcached-3.0.x 注解詳解 2016-01-20 22:20
          @InvalidateAssignCache :在給的計算器上加1. 如果不存在則初始化為1
          這個是錯的,應該是@IncrementCounterInCache  回復  更多評論
            

          # re: simple-spring-memcached-3.0.x 注解詳解 2016-01-20 22:22
          @增
          詳見參考,去看看它里面的CounterTest的測試類,就明白是怎么回事了!
          https://github.com/batizhao/spring-mybatis-memcached/blob/master/ssm3-mybatis2-memcached/src/main/java/me.batizhao/cache/Counter.java
          找了好久,才知道是怎么寫的,官方文檔都沒說該咋寫!真感謝這位。。。  回復  更多評論
            

          主站蜘蛛池模板: 河东区| 扬州市| 新郑市| 抚州市| 宁陵县| 桐庐县| 华池县| 砚山县| 黄平县| 青海省| 玉山县| 成都市| 元江| 股票| 马鞍山市| 清远市| 荥经县| 蛟河市| 正蓝旗| 菏泽市| 即墨市| 阿拉善盟| 崇仁县| 郁南县| 广州市| 汝阳县| 怀安县| 台湾省| 娱乐| 蒙山县| 西丰县| 峨山| 湛江市| 牙克石市| 香港| 大安市| 昔阳县| 雷州市| 花莲市| 仪陇县| 阿坝|