Contoh penggunaan modul cache


Contoh 1: Kendalikan data cache secara terus melalui modul cache
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();
    }
}

Nota: Apabila menyatakan nama cache, sila sahkan sama ada konfigurasi yang sepadan dengan nama itu sudah wujud.

hasil:

value1
value2
Contoh 2: Caching kaedah kelas berdasarkan anotasi
Anotasi @Cacheable digunakan di sini, yang digunakan untuk mengenal pasti sama ada hasil pelaksanaan kaedah dalam kelas perlu diambil perhatian bahawa:

Pertama sekali, anotasi @Cacheable mestilah dalam Diisytiharkan pada kelas yang telah didaftarkan dengan pengurus objek kelas YMP, menunjukkan bahawa kelas itu menyokong caching

Kedua, tambah anotasi @Cacheable pada kaedah yang diperlukan untuk men-cache hasil pelaksanaan; penjana: Kelas pelaksanaan antara muka penjana utama, lalai ialah DefaultKeyGenerator.class

skop: skop cache, boleh Nilai yang dipilih adalah APLIKASI, SESI dan LALAI, lalainya adalah LALAI, tetapan bukan LALAI memerlukan kerjasama cache antara muka skop pemproses (ICacheScopeProcessor);
Hasil pelaksanaan:

@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();
        }
    }
}

Seperti yang dapat dilihat daripada output hasil di atas, aksara "Tiada Cached" akan dikeluarkan apabila parameter yang sama bagi kaedah sayHi dipanggil untuk rentetan kali pertama, menunjukkan bahawa ia berlaku tidak menggunakan cache, dan mengembalikan nilai terus daripada cache apabila dipanggil semula