은닉처


통합 캐시 모듈

WebMVC 모듈에는 캐시 모듈이 통합되어 있으며, @Cacheable 주석을 통해 쉽게 캐시를 구현할 수 있습니다. 캐시 모듈의scope_processor_class 매개변수 및 SESSION 범위

# 设置缓存作用域处理器
ymp.configs.cache.scope_processor_class=net.ymate.platform.webmvc.support.WebCacheScopeProcessor
샘플 코드: 세션(SESSION)에서의 캐시 메소드 실행 결과 #🎜🎜 #

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

Note
: @Cacheable 기반 메서드 캐싱 컨트롤러 메서드 Object에서 반환된 결과만 캐시하고 IView의 최종 실행 결과를 캐시할 수 없습니다.

Custom 캐시 프로세서
#🎜 🎜#WebMVC 모듈은 캐싱을 제공합니다. 프로세서 IWebCacheProcessor 인터페이스를 사용하면 개발자가 이 인터페이스를 통해 컨트롤러 실행 결과에 대한 최종 처리를 수행할 수 있습니다. #🎜🎜 #
Description

: 프레임워크는 뷰 실행 결과를 캐시하기 위해 IWebCacheProcessor 인터페이스net.ymate.platform.webmvc.support.WebCacheProcessor의 기본 구현을 제공하지만
사용할 때 web.xml 필터 DispatchFilter를 확인하고 <dispatcher>INCLUDE</dispatcher>를 구성하지 마십시오. 그렇지 않으면 무한 루프가 발생합니다. 발생; #🎜 🎜#

@ResponseCache 주석 매개변수 설명:

cacheName: 캐시 이름, 선택적 매개변수, 기본값은 기본값입니다. 🎜🎜# 키: 캐시 키, 선택적 매개변수, 설정되지 않은 경우 IWebCacheProcessor 인터페이스에 의해 자동으로 생성됩니다. net.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接口参数配置:

# 缓存处理器,可选参数
ymp.configs.webmvc.cache_processor_class=demo.WebCacheProc

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

processorClass: 사용자 정의 뷰 캐시 프로세서, 선택적 매개변수(제공되지 않은 경우 기본 IWebCacheProcessor) 인터페이스 매개변수가 사용됩니다. 구성
    🎜🎜#scope: 캐시 범위, 선택적 매개변수, 선택적 값은 APPLICATION, SESSION 및 DEFAULT이고 기본값은 DEFAULT입니다. : 캐시 데이터 시간 초과, 사용 가능 매개변수 선택, 값은 0보다 크거나 같아야 합니다. 0은 기본 캐시가 300초임을 의미합니다.
  • useGZip: GZIP 압축 사용 여부, 기본값은 true입니다.

Default IWebCacheProcessor 인터페이스 매개변수 구성:

package demo;

import net.ymate.platform.webmvc.*;
import net.ymate.platform.webmvc.view.IView;

public class WebCacheProc implements IWebCacheProcessor {
    public boolean processResponseCache(IWebMvc owner, ResponseCache responseCache, IRequestContext requestContext, IView resultView) throws Exception {
        // 这里是对View视图自定义处理逻辑...
        // 完整的示例代码请查看net.ymate.platform.webmvc.support.WebCacheProcessor类源码
        return false;
    }
}

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

    @RequestMapping("/cache")
    @ResponseCache
    public IView doCacheable(@RequestParam String content) throws Exception {
        // ......
        return View.textView("Content: " + content);
    }
}

프레임워크는 다음을 제공합니다. 기본적으로 이 인터페이스의 구현 클래스는 다음과 같습니다. net.ymate.platform.webmvc.support.WebCacheProcessor

Cache 캐시 모듈을 기반으로 Last- @ResponseCache 주석의 Scope.DEFAULT 범위에 대한 수정된 기타 브라우저 관련 구성이며 GZIP 압축 및 기타 기능을 지원합니다
#🎜🎜##🎜🎜#샘플 코드: #🎜🎜## 🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜# #🎜🎜##🎜🎜# 설명 #🎜🎜#: 이 인터페이스 메서드는 WebMVC 프레임워크에 알리는 데 사용되는 부울 값을 반환합니다. 컨트롤러 뷰 처리를 계속할지 여부 #🎜🎜##🎜🎜##🎜🎜#