public class ThreadCache
extends java.lang.Object
MemoryLRUCache
but byte-based, not
record basedModifier and Type | Class and Description |
---|---|
static interface |
ThreadCache.DirtyEntryFlushListener |
Constructor and Description |
---|
ThreadCache(org.apache.kafka.common.utils.LogContext logContext,
long maxCacheSizeBytes,
StreamsMetricsImpl metrics) |
Modifier and Type | Method and Description |
---|---|
void |
addDirtyEntryFlushListener(java.lang.String namespace,
ThreadCache.DirtyEntryFlushListener listener)
Add a listener that is called each time an entry is evicted from the cache or an explicit flush is called
|
org.apache.kafka.streams.state.internals.ThreadCache.MemoryLRUCacheBytesIterator |
all(java.lang.String namespace) |
org.apache.kafka.streams.state.internals.LRUCacheEntry |
delete(java.lang.String namespace,
org.apache.kafka.common.utils.Bytes key) |
long |
evicts() |
void |
flush(java.lang.String namespace) |
long |
flushes() |
org.apache.kafka.streams.state.internals.LRUCacheEntry |
get(java.lang.String namespace,
org.apache.kafka.common.utils.Bytes key) |
long |
gets() |
static java.lang.String |
nameSpaceFromTaskIdAndStore(java.lang.String taskIDString,
java.lang.String underlyingStoreName)
The thread cache maintains a set of
NamedCache s whose names are a concatenation of the task ID and the
underlying store name. |
void |
put(java.lang.String namespace,
org.apache.kafka.common.utils.Bytes key,
org.apache.kafka.streams.state.internals.LRUCacheEntry value) |
void |
putAll(java.lang.String namespace,
java.util.List<KeyValue<org.apache.kafka.common.utils.Bytes,org.apache.kafka.streams.state.internals.LRUCacheEntry>> entries) |
org.apache.kafka.streams.state.internals.LRUCacheEntry |
putIfAbsent(java.lang.String namespace,
org.apache.kafka.common.utils.Bytes key,
org.apache.kafka.streams.state.internals.LRUCacheEntry value) |
long |
puts() |
org.apache.kafka.streams.state.internals.ThreadCache.MemoryLRUCacheBytesIterator |
range(java.lang.String namespace,
org.apache.kafka.common.utils.Bytes from,
org.apache.kafka.common.utils.Bytes to) |
long |
size() |
static java.lang.String |
taskIDfromCacheName(java.lang.String cacheName)
Given a cache name of the form taskid-storename, return the task ID.
|
static java.lang.String |
underlyingStoreNamefromCacheName(java.lang.String cacheName)
Given a cache name of the form taskid-storename, return the store name.
|
public ThreadCache(org.apache.kafka.common.utils.LogContext logContext, long maxCacheSizeBytes, StreamsMetricsImpl metrics)
public long puts()
public long gets()
public long evicts()
public long flushes()
public static java.lang.String nameSpaceFromTaskIdAndStore(java.lang.String taskIDString, java.lang.String underlyingStoreName)
NamedCache
s whose names are a concatenation of the task ID and the
underlying store name. This method creates those names.taskIDString
- Task IDunderlyingStoreName
- Underlying store namepublic static java.lang.String taskIDfromCacheName(java.lang.String cacheName)
cacheName
- public static java.lang.String underlyingStoreNamefromCacheName(java.lang.String cacheName)
cacheName
- public void addDirtyEntryFlushListener(java.lang.String namespace, ThreadCache.DirtyEntryFlushListener listener)
namespace
- listener
- public void flush(java.lang.String namespace)
public org.apache.kafka.streams.state.internals.LRUCacheEntry get(java.lang.String namespace, org.apache.kafka.common.utils.Bytes key)
public void put(java.lang.String namespace, org.apache.kafka.common.utils.Bytes key, org.apache.kafka.streams.state.internals.LRUCacheEntry value)
public org.apache.kafka.streams.state.internals.LRUCacheEntry putIfAbsent(java.lang.String namespace, org.apache.kafka.common.utils.Bytes key, org.apache.kafka.streams.state.internals.LRUCacheEntry value)
public void putAll(java.lang.String namespace, java.util.List<KeyValue<org.apache.kafka.common.utils.Bytes,org.apache.kafka.streams.state.internals.LRUCacheEntry>> entries)
public org.apache.kafka.streams.state.internals.LRUCacheEntry delete(java.lang.String namespace, org.apache.kafka.common.utils.Bytes key)
public org.apache.kafka.streams.state.internals.ThreadCache.MemoryLRUCacheBytesIterator range(java.lang.String namespace, org.apache.kafka.common.utils.Bytes from, org.apache.kafka.common.utils.Bytes to)
public org.apache.kafka.streams.state.internals.ThreadCache.MemoryLRUCacheBytesIterator all(java.lang.String namespace)
public long size()