은닉처
통합 캐시 모듈
WebMVC 모듈에는 캐시 모듈이 통합되어 있으며, @Cacheable 주석을 통해 쉽게 캐시를 구현할 수 있습니다. 캐시 모듈의scope_processor_class 매개변수 및 SESSION 범위
# 设置缓存作用域处理器 ymp.configs.cache.scope_processor_class=net.ymate.platform.webmvc.support.WebCacheScopeProcessor
@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); } }
: @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
框架默认提供了该接口的实现类:
processorClass: 사용자 정의 뷰 캐시 프로세서, 선택적 매개변수(제공되지 않은 경우 기본 IWebCacheProcessor) 인터페이스 매개변수가 사용됩니다. 구성net.ymate.platform.webmvc.support.WebCacheProcessor
🎜🎜#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); } }
프레임워크는 다음을 제공합니다. 기본적으로 이 인터페이스의 구현 클래스는 다음과 같습니다.
Cache 캐시 모듈을 기반으로 Last- @ResponseCache 주석의 Scope.DEFAULT 범위에 대한 수정된 기타 브라우저 관련 구성이며 GZIP 압축 및 기타 기능을 지원합니다net.ymate.platform.webmvc.support.WebCacheProcessor