Cache


Modul cache bersepadu

Modul WebMVC telah menyepadukan modul cache Cache kaedah pengawal boleh dilaksanakan dengan mudah melalui anotasi @Cacheable Skop APLIKASI dan SESI boleh disokong dengan mengkonfigurasi parameter scope_processor_class modul cache.

# 设置缓存作用域处理器
ymp.configs.cache.scope_processor_class=net.ymate.platform.webmvc.support.WebCacheScopeProcessor

Contoh kod: Hasil pelaksanaan kaedah cache pada tahap sesi (SESI) selama 180 saat; kaedah pengawal dan tidak boleh menyimpan paparan IView Hasil pelaksanaan akhir Pada kelas pengawal dan kaedah yang dijelaskan oleh ResponseCache

Penerangan
: Rangka kerja menyediakan pelaksanaan lalai antara muka IWebCacheProcessor net.ymate.platform. webmvc.support.WebCacheProcessor untuk cache melihat hasil pelaksanaan,
Tetapi perlu diambil perhatian bahawa apabila menggunakannya, sila semak penapis DispatchFilter web.xml dan jangan konfigurasikan <penghantar>SERTAKAN</penghantar>, jika tidak, gelung tak terhingga akan berlaku

@ResponseCache perihalan parameter anotasi:

cacheName: nama cache, parameter lalai; lalai; kunci
: Kunci cache, parameter pilihan, jika tidak ditetapkan, ia akan dilaksanakan oleh antara muka IWebCacheProcessor Dijana secara automatik
ProcessorClass: Pemproses cache paparan tersuai, parameter pilihan, jika tidak disediakan, konfigurasi parameter antara muka IWebCacheProcessor ialah; digunakan;

skop: Skop cache, parameter pilihan, nilai pilihan​​adalah APPLICATION, SESSION and DEFAULT , lalainya ialah DEFAULT

timeout: cache data timeout, parameter pilihan, nilainya mestilah lebih besar daripada atau sama dengan 0, 0 bermakna cache lalai ialah 300 saat; useGZip: sama ada hendak menggunakan pemampatan GZIP, nilai lalai adalah benarnet.ymate.platform.webmvc.support.WebCacheProcessor用以缓存视图执行结果,
但需要注意的是当使用它时, 请检查web.xml的过滤器DispatchFilter中不要配置<dispatcher>INCLUDE</dispatcher>,否则将会产生死循环;

@ResponseCache注解参数说明:

cacheName:缓存名称, 可选参数, 默认值为default;

key:缓存Key, 可选参数, 若未设置则由IWebCacheProcessor接口实现自动生成;

processorClass:自定义视图缓存处理器, 可选参数,若未提供则采用默认IWebCacheProcessor接口参数配置;

scope:缓存作用域, 可选参数,可选值为APPLICATION、SESSION和DEFAULT,默认为DEFAULT;

timeout:缓存数据超时时间, 可选参数,数值必须大于等于0,为0表示默认缓存300秒;

useGZip:是否使用GZIP压缩, 默认值为true

默认IWebCacheProcessor接口参数配置:

    @Controller
    @RequestMapping("/demo")
    @Cacheable
    public class CacheController {

        @RequestMapping("/cache")
        @Cacheable(scope = ICaches.Scope.SESSION, timeout = 180)
        public IView doCacheable(@RequestParam String content) throws Exception {
            // ......
            return View.textView("Content: " + content);
        }
    }

框架默认提供了该接口的实现类:net.ymate.platform.webmvc.support.WebCacheProcessor

    Konfigurasi parameter Antara Muka IWebCacheProcessor lalai:

rreee kelas pelaksanaan

antara muka ini secara lalai: net.ymate.platform.webmvc.support.WebCacheProcessor
Berdasarkan modul cache Cache untuk menjadikannya skop The Scope.DEFAULT dalam anotasi @ResponseCache menyokong konfigurasi berkaitan penyemak imbas seperti Last-Modified, dan menyokong ciri seperti pemampatan GZIP

Contoh kod:

# 缓存处理器,可选参数
ymp.configs.webmvc.cache_processor_class=demo.WebCacheProc
🎜🎜🎜🎜🎜Penerangan🎜: Kaedah antara muka ini mengembalikan Nilai Boolean, yang digunakan untuk tidak meneruskan pemprosesan Nilai Boolean. pandangan pengawal; 🎜🎜🎜