[−][src]Module concread::arcache
ARCache - A concurrently readable adaptive replacement cache.
An ARCache is used in place of a RwLock<LruCache>
or Mutex<LruCache>
.
This structure is transactional, meaning that readers have guaranteed
point-in-time views of the cache and their items, while allowing writers
to proceed with inclusions and cache state management in parallel.
This means that unlike a RwLock
which can have many readers OR one writer
this cache is capable of many readers, over multiple data generations AND
writers that are serialised. This formally means that this is an ACID
compliant Cache.
Structs
ARCache | A concurrently readable adaptive replacement cache. Operations are performed on the cache via read and write operations. |
ARCacheReadTxn | An active read transaction over the cache. The data is this cache is guaranteed to be valid at the point in time the read is created. You may include items during a cache miss via the "insert" function. |
ARCacheWriteTxn | An active write transaction over the cache. The data in this cache is isolated from readers, and may be rolled-back if an error occurs. Changes only become globally visible once you call "commit". Items may be added to the cache on a miss via "insert", and you can explicitly remove items by calling "remove". |
CacheStats | Statistics related to the Arc |