public final class LruNormalizedCache extends NormalizedCache
NormalizedCache
backed by an in memory Cache
. Can be configured with an optional secondaryCache
NormalizedCache
, which will be used as a backup if a Record
is not present in the primary cache.
A common configuration is to have secondary SQL cache.Modifier and Type | Method and Description |
---|---|
void |
clearAll()
Clears all records from the cache.
|
java.util.Map<java.lang.Class,java.util.Map<java.lang.String,Record>> |
dump() |
Record |
loadRecord(java.lang.String key,
CacheHeaders cacheHeaders) |
protected java.util.Set<java.lang.String> |
performMerge(Record apolloRecord,
CacheHeaders cacheHeaders) |
boolean |
remove(CacheKey cacheKey,
boolean cascade)
Remove cached record by the key
|
chain, loadRecords, merge, merge, nextCache, prettifyDump, remove
@Nullable public Record loadRecord(@NotNull java.lang.String key, @NotNull CacheHeaders cacheHeaders)
loadRecord
in class NormalizedCache
key
- The key of the record to read.cacheHeaders
- The cache headers associated with the request which generated this record.Record
for key. If not present return null.public void clearAll()
NormalizedCache
ApolloClient.clearNormalizedCache()
for a thread-safe access to this method.clearAll
in class NormalizedCache
public boolean remove(@NotNull CacheKey cacheKey, boolean cascade)
NormalizedCache
remove
in class NormalizedCache
cacheKey
- of record to be removedcascade
- defines if remove operation is propagated to the referenced entitiestrue
if record with such key was successfully removed, false
otherwise@NotNull protected java.util.Set<java.lang.String> performMerge(@NotNull Record apolloRecord, @NotNull CacheHeaders cacheHeaders)
performMerge
in class NormalizedCache
public java.util.Map<java.lang.Class,java.util.Map<java.lang.String,Record>> dump()
dump
in class NormalizedCache