public abstract class Cacher extends Middleware implements MetricConstants
MemoryCacher,
OHCacher,
RedisCacher| Modifier and Type | Field and Description |
|---|---|
protected boolean |
debug |
protected Metrics |
metrics |
broker, logger, nameMOLECULER_CACHER_CLEAN_TIME, MOLECULER_CACHER_CLEAN_TIME_DESC, MOLECULER_CACHER_CLEAN_TOTAL, MOLECULER_CACHER_CLEAN_TOTAL_DESC, MOLECULER_CACHER_DEL_TIME, MOLECULER_CACHER_DEL_TIME_DESC, MOLECULER_CACHER_DEL_TOTAL, MOLECULER_CACHER_DEL_TOTAL_DESC, MOLECULER_CACHER_EXPIRED_TOTAL, MOLECULER_CACHER_EXPIRED_TOTAL_DESC, MOLECULER_CACHER_FOUND_TOTAL, MOLECULER_CACHER_FOUND_TOTAL_DESC, MOLECULER_CACHER_GET_TIME, MOLECULER_CACHER_GET_TIME_DESC, MOLECULER_CACHER_GET_TOTAL, MOLECULER_CACHER_GET_TOTAL_DESC, MOLECULER_CACHER_SET_TIME, MOLECULER_CACHER_SET_TIME_DESC, MOLECULER_CACHER_SET_TOTAL, MOLECULER_CACHER_SET_TOTAL_DESC, MOLECULER_CIRCUIT_BREAKER_HALF_OPENED_ACTIVE, MOLECULER_CIRCUIT_BREAKER_HALF_OPENED_ACTIVE_DESC, MOLECULER_CIRCUIT_BREAKER_OPENED_ACTIVE, MOLECULER_CIRCUIT_BREAKER_OPENED_ACTIVE_DESC, MOLECULER_CIRCUIT_BREAKER_OPENED_TOTAL, MOLECULER_CIRCUIT_BREAKER_OPENED_TOTAL_DESC, MOLECULER_EVENT_BROADCAST_TOTAL, MOLECULER_EVENT_BROADCAST_TOTAL_DESC, MOLECULER_EVENT_BROADCASTLOCAL_TOTAL, MOLECULER_EVENT_BROADCASTLOCAL_TOTAL_DESC, MOLECULER_EVENT_EMIT_TOTAL, MOLECULER_EVENT_EMIT_TOTAL_DESC, MOLECULER_EVENT_RECEIVED_ACTIVE, MOLECULER_EVENT_RECEIVED_ACTIVE_DESC, MOLECULER_EVENT_RECEIVED_ERROR_TOTAL, MOLECULER_EVENT_RECEIVED_ERROR_TOTAL_DESC, MOLECULER_EVENT_RECEIVED_TIME, MOLECULER_EVENT_RECEIVED_TIME_DESC, MOLECULER_EVENT_RECEIVED_TOTAL, MOLECULER_EVENT_RECEIVED_TOTAL_DESC, MOLECULER_EXECUTOR, MOLECULER_REQUEST_ACTIVE, MOLECULER_REQUEST_ACTIVE_DESC, MOLECULER_REQUEST_ERROR_TOTAL, MOLECULER_REQUEST_ERROR_TOTAL_DESC, MOLECULER_REQUEST_LEVELS, MOLECULER_REQUEST_LEVELS_DESC, MOLECULER_REQUEST_RETRY_ATTEMPTS_TOTAL, MOLECULER_REQUEST_RETRY_ATTEMPTS_TOTAL_DESC, MOLECULER_REQUEST_TIME, MOLECULER_REQUEST_TIME_DESC, MOLECULER_REQUEST_TIMEOUT_TOTAL, MOLECULER_REQUEST_TIMEOUT_TOTAL_DESC, MOLECULER_REQUEST_TOTAL, MOLECULER_REQUEST_TOTAL_DESC, MOLECULER_SCHEDULER, MOLECULER_TRANSIT_CONNECTED, MOLECULER_TRANSIT_CONNECTED_DESC, MOLECULER_TRANSIT_ORPHAN_RESPONSE_TOTAL, MOLECULER_TRANSIT_ORPHAN_RESPONSE_TOTAL_DESC, MOLECULER_TRANSIT_REQUESTS_ACTIVE, MOLECULER_TRANSIT_REQUESTS_ACTIVE_DESC, MOLECULER_TRANSIT_STREAMS_RECEIVE_ACTIVE, MOLECULER_TRANSIT_STREAMS_RECEIVE_ACTIVE_DESC, MOLECULER_TRANSPORTER_PACKETS_RECEIVED_BYTES, MOLECULER_TRANSPORTER_PACKETS_RECEIVED_BYTES_DESC, MOLECULER_TRANSPORTER_PACKETS_RECEIVED_TOTAL, MOLECULER_TRANSPORTER_PACKETS_RECEIVED_TOTAL_DESC, MOLECULER_TRANSPORTER_PACKETS_SENT_BYTES, MOLECULER_TRANSPORTER_PACKETS_SENT_BYTES_DESC, MOLECULER_TRANSPORTER_PACKETS_SENT_TOTAL, MOLECULER_TRANSPORTER_PACKETS_SENT_TOTAL_DESC| Constructor and Description |
|---|
Cacher() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendToKey(java.lang.StringBuilder key,
io.datatree.Tree tree) |
protected void |
appendTree(java.lang.StringBuilder key,
java.lang.Object source) |
abstract io.datatree.Promise |
clean(java.lang.String match)
Cleans this cache.
|
abstract io.datatree.Promise |
del(java.lang.String key)
Deletes a content from this cache.
|
abstract io.datatree.Promise |
get(java.lang.String key)
Gets a cached content by a key.
|
java.lang.String |
getCacheKey(java.lang.String name,
io.datatree.Tree params,
java.lang.String... keys)
Creates a cacher-specific key by name and params.
|
abstract io.datatree.Promise |
getCacheKeys()
Lists all keys of cached entries.
|
Action |
install(Action action,
io.datatree.Tree config) |
protected boolean |
isCachingDisabledByTheContext(Context ctx)
Is the request disables caching?
|
boolean |
isDebug()
Is debug enabled?
|
protected void |
logClean(java.lang.String cacheName,
java.lang.String match,
long count) |
protected void |
serializeKey(java.lang.StringBuilder key,
io.datatree.Tree params,
java.lang.String... keys) |
abstract io.datatree.Promise |
set(java.lang.String key,
io.datatree.Tree value,
int ttl)
Sets a content by key into the cache.
|
void |
setDebug(boolean debug)
Enable debug messages.
|
void |
started(ServiceBroker broker) |
getBroker, getLogger, getName, stoppedprotected Metrics metrics
protected boolean debug
public void started(ServiceBroker broker) throws java.lang.Exception
started in interface MoleculerLifecyclestarted in class MoleculerComponentjava.lang.Exceptionpublic Action install(Action action, io.datatree.Tree config)
install in class Middlewarepublic java.lang.String getCacheKey(java.lang.String name,
io.datatree.Tree params,
java.lang.String... keys)
name - qualified name of the actionparams - input (key) structure (~JSON)keys - optional array of keys (eg. "id")protected void serializeKey(java.lang.StringBuilder key,
io.datatree.Tree params,
java.lang.String... keys)
protected void appendToKey(java.lang.StringBuilder key,
io.datatree.Tree tree)
protected void appendTree(java.lang.StringBuilder key,
java.lang.Object source)
protected boolean isCachingDisabledByTheContext(Context ctx)
ctx - Input Contextprotected void logClean(java.lang.String cacheName,
java.lang.String match,
long count)
public abstract io.datatree.Promise get(java.lang.String key)
key - cache keypublic abstract io.datatree.Promise set(java.lang.String key,
io.datatree.Tree value,
int ttl)
key - cache keyvalue - new valuettl - optional TTL of entry (0 == use default TTL)public abstract io.datatree.Promise del(java.lang.String key)
key - cache keypublic abstract io.datatree.Promise clean(java.lang.String match)
match - regexpublic abstract io.datatree.Promise getCacheKeys()
public boolean isDebug()
public void setDebug(boolean debug)
debug - debug mode