手册目录

概述

YMP在线手册

浏览12656
更新时间2022-04-11
示例一:直接通过缓存模块操作缓存数据
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();
    }
}

:当指定缓存名称时,请确认与名称对应的配置是否已存在;

执行结果:

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

这里用到了@Cacheable注解,作用是标识类中方法的执行结果是否进行缓存,需要注意的是:

首先@Cacheable注解必须在已注册到YMP类对象管理器的类上声明,表示该类支持缓存;

其次,在需要缓存执行结果的方法上添加@Cacheable注解;

@Cacheable注解参数说明:

cacheName:缓存名称, 默认值为default;

key:缓存Key, 若未设置则使用keyGenerator自动生成;

generator:Key生成器接口实现类,默认为DefaultKeyGenerator.class;

scope:缓存作用域,可选值为APPLICATION、SESSION和DEFAULT,默认为DEFAULT,非DEFAULT设置需要缓存作用域处理器(ICacheScopeProcessor)接口配合;

timeout:缓存数据超时时间, 可选参数,数值必须大于等于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();
        }
    }
}

执行结果:

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

以上结果输出可以看出,sayHi方法相同参数首次被调用时将输出“No Cached”字符串,说明它没有使用缓存,再次调用时直接从缓存中返回值;

相关视频

更多

免费

php8,我来也
初级php8,我来也

322092次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382658次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

283510次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13426次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.8万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号