public abstract class Cacher extends Middleware implements MetricConstants
MemoryCacher,
OHCacher,
RedisCacher| Modifier and Type | Field and Description |
|---|---|
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?
|
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 |
started(ServiceBroker broker) |
getBroker, getLogger, getName, stoppedprotected Metrics metrics
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 Contextpublic 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()