Class TopLevelCache
java.lang.Object
services.moleculer.service.MoleculerComponent
services.moleculer.service.Service
services.moleculer.web.middleware.HttpMiddleware
services.moleculer.web.middleware.TopLevelCache
- All Implemented Interfaces:
services.moleculer.service.MoleculerLifecycle, HttpConstants
URL-based content cache. It is good for caching the responses of
non-authenticated REST services with large responses. For example, if the
service generates blog/wiki content using a HTML Template Egine. It is not
advisable to cache POST requests and/or requests that depend not only on the
URL but also on the content of the request. TopLevelCache speeds up querying
of various reports (tables, charts) and dynamically generated images. Sample:
restRoute.use(new TopLevelCache("/blog/posts/**"));
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final services.moleculer.cacher.Cacherprotected static final org.slf4j.Loggerprotected String[]protected StringCache region (~= prefix).protected intExpire time, in SECONDS (0 = never expires)protected booleanUse ETag headersFields inherited from class services.moleculer.service.MoleculerComponent
broker, nameFields inherited from interface HttpConstants
ACCEPT, ACCEPT_ENCODING, AUTHORIZATION, CACHE_CONTROL, CHUNKED, CLOSE, CONNECT, CONNECTION, CONTENT_ENCODING, CONTENT_LENGTH, CONTENT_TYPE, CONTENT_TYPE_HTML, CONTENT_TYPE_JSON, COOKIE, DEFLATE, DELETE, ETAG, GET, GZIP, HEAD, IF_NONE_MATCH, KEEP_ALIVE, LOCATION, META_CONTENT_TYPE, META_HEADERS, META_LOCALE, META_LOCATION, META_SESSION, META_STATUS, META_TEMPLATE, NO_CACHE, OPTIONS, PATCH, POST, PROPERTY_COOKIES, PROPERTY_SESSION_ID, PROPERTY_USER, PUT, SET_COOKIE, TRACE, TRANSFER_ENCODING, WWW_AUTHENTICATE, X_FORWARDED_FOR -
Constructor Summary
ConstructorsConstructorDescriptionTopLevelCache(services.moleculer.cacher.Cacher cacher, String... pathPatterns) -
Method Summary
Modifier and TypeMethodDescriptionaddPathPattern(String... pathPatterns) String[]intgetTtl()install(RequestProcessor next, io.datatree.Tree config) voidsetPathPatterns(String... pathPatterns) voidvoidsetTtl(int ttl) Methods inherited from class services.moleculer.service.MoleculerComponent
getBroker, getLogger, getName, started, stopped
-
Field Details
-
logger
protected static final org.slf4j.Logger logger -
pathCache
-
cacher
protected final services.moleculer.cacher.Cacher cacher -
region
Cache region (~= prefix). -
ttl
protected int ttlExpire time, in SECONDS (0 = never expires) -
pathPatterns
-
useETags
protected boolean useETagsUse ETag headers
-
-
Constructor Details
-
TopLevelCache
-
-
Method Details
-
install
- Specified by:
installin classHttpMiddleware
-
getRegion
-
setRegion
-
getTtl
public int getTtl() -
setTtl
public void setTtl(int ttl) -
getPathPatterns
-
setPathPatterns
-
addPathPattern
-