The persistent map to which the data is flushed or from which it is retrieved when not residing in cache.
The persistent map to which the data is flushed or from which it is retrieved when not residing in cache.
This method should be invoked from the implementations flush hook after it has determined the terminal version at which the entries in the cache are written to the persistent store.
This method should be invoked from the implementations flush hook after it has
determined the terminal version at which the entries in the cache are written
to the persistent store. If this method is not called, the cache will just
vanish and not be written out to the persistent
store.
the new version to append to the paths in the cache (using the PathLike
's addTerm
method)
the current transaction (should be in commit or right-before commit phase)
Retrieves a value from the cache _or_ the underlying store (if not found in the cache), where a non-transactional serializer exists.
Retrieves a value from the cache _or_ the underlying store (if not found in the cache), where a non-transactional serializer exists.
If no value is found for the current path, this will try to read the most recent entry along the path.
the type of value stored
key at which the entry is stored
access path for the read
the current transaction
the serializer to use for the value
the most recent value found, or None
if a value cannot be found for the given path,
neither in the cache nor in the persistent store.
Retrieves a value from the cache _or_ the underlying store (if not found in the cache), where 'only' a transactional serializer exists.
Retrieves a value from the cache _or_ the underlying store (if not found in the cache), where 'only' a transactional serializer exists.
If no value is found for the current path, this will try to read the most recent entry along the path.
the type of value stored
key at which the entry is stored
access path for the read
the current transaction
the serializer to use for the value
the most recent value found, or None
if a value cannot be found for the given path,
neither in the cache nor in the persistent store.
Stores an entry in the cache for which a non-transactional serializer exists.
Stores an entry in the cache for which a non-transactional serializer exists.
Note that the caller is responsible for monitoring this call, and if necessary installing
a before-commit handler which will call into the abstract method flushCache()
.
the type of value stored
key at which the entry will be stored
write path when persisting
value to be stored (entry)
the current transaction
the serializer to use for the value
Stores an entry in the cache for which 'only' a transactional serializer exists.
Stores an entry in the cache for which 'only' a transactional serializer exists.
Note that the caller is responsible for monitoring this call, and if necessary installing
a before-commit handler which will call into the abstract method flushCache()
.
the type of value stored
key at which the entry will be stored
write path when persisting
value to be stored (entry)
the current transaction
the serializer to use for the value
Removes an entry from the cache, and only the cache.
Removes an entry from the cache, and only the cache. This will not affect any
values also persisted to persistent
! If the cache does not contain an entry
at the given key
, this method simply returns.
key at which the entry is stored
the current transaction