国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

YMP ??? ??? / 緩存模塊使用示例

緩存模塊使用示例

示例一:直接通過緩存模塊操作緩存數(shù)據(jù)
public static void main(String[] args) throws Exception {
    YMP.get().init();
    try {
        // 操作默認緩存
        Caches.get().put("key1", "value1");
        System.out.println(Caches.get().get("key1"));
        // 操作指定名稱的緩存
        Caches.get().put("default", "key2", "value2");
        System.out.println(Caches.get().get("default", "key2"));
    } finally {
        YMP.get().destroy();
    }
}

:當指定緩存名稱時,請確認與名稱對應的配置是否已存在;

執(zhí)行結(jié)果:

value1
value2
示例二:基于注解完成類方法的緩存

這里用到了@Cacheable注解,作用是標識類中方法的執(zhí)行結(jié)果是否進行緩存,需要注意的是:

首先@Cacheable注解必須在已注冊到Y(jié)MP類對象管理器的類上聲明,表示該類支持緩存;

其次,在需要緩存執(zhí)行結(jié)果的方法上添加@Cacheable注解;

@Cacheable注解參數(shù)說明:

cacheName:緩存名稱, 默認值為default;

key:緩存Key, 若未設置則使用keyGenerator自動生成;

generator:Key生成器接口實現(xiàn)類,默認為DefaultKeyGenerator.class;

scope:緩存作用域,可選值為APPLICATION、SESSION和DEFAULT,默認為DEFAULT,非DEFAULT設置需要緩存作用域處理器(ICacheScopeProcessor)接口配合;

timeout:緩存數(shù)據(jù)超時時間, 可選參數(shù),數(shù)值必須大于等于0,為0表示默認緩存300秒;

示例代碼:

@Bean
@Cacheable
public class CacheDemo {

    @Cacheable
    public String sayHi(String name) {
        System.out.println("No Cached");
        return "Hi, " + name;
    }

    public static void main(String[] args) throws Exception {
        YMP.get().init();
        try {
            CacheDemo _demo = YMP.get().getBean(CacheDemo.class);
            System.out.println(_demo.sayHi("YMP"));
            System.out.println(_demo.sayHi("YMP"));
            //
            System.out.println("--------");
            //
            System.out.println(_demo.sayHi("YMPer"));
            System.out.println(_demo.sayHi("YMP"));
            System.out.println(_demo.sayHi("YMPer"));
        } finally {
            YMP.get().destroy();
        }
    }
}

執(zhí)行結(jié)果:

No Cached
Hi, YMP
Hi, YMP
--------
No Cached
Hi, YMPer
Hi, YMP
Hi, YMPer

以上結(jié)果輸出可以看出,sayHi方法相同參數(shù)首次被調(diào)用時將輸出“No Cached”字符串,說明它沒有使用緩存,再次調(diào)用時直接從緩存中返回值;