abstract class Cache[K, V] extends javadsl.Cache[K, V]
API MAY CHANGE
General interface implemented by all akka-http cache implementations.
- Self Type
- Cache[K, V]
- Annotations
- @ApiMayChange() @DoNotInherit()
- Source
- Cache.scala
- Alphabetic
- By Inheritance
- Cache
- Cache
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Cache()
Abstract Value Members
- abstract def apply(key: K, genValue: () => Future[V]): Future[V]
Returns either the cached Future for the given key or evaluates the given value generating function producing a
Future[V]
. - abstract def clear(): Unit
Clears the cache by removing all entries.
- abstract def get(key: K): Option[Future[V]]
Retrieves the future instance that is currently in the cache for the given key.
Retrieves the future instance that is currently in the cache for the given key. Returns None if the key has no corresponding cache entry.
- abstract def getOrLoad(key: K, loadValue: (K) => Future[V]): Future[V]
Returns either the cached Future for the given key, or applies the given value loading function on the key, producing a
Future[V]
. - abstract def keys: Set[K]
Returns the set of keys in the cache, in no particular order Should return in roughly constant time.
Returns the set of keys in the cache, in no particular order Should return in roughly constant time. Note that this number might not reflect the exact keys of active, unexpired cache entries, since expired entries are only evicted upon next access (or by being thrown out by a capacity constraint).
- abstract def put(key: K, mayBeValue: Future[V])(implicit ex: ExecutionContext): Future[V]
Cache the given future if not cached previously.
Cache the given future if not cached previously. Or replace the old cached value on successful completion of given future. In case the given future fails, the previously cached value for that key (if any) will remain unchanged.
- abstract def remove(key: K): Unit
Removes the cache item for the given key.
- abstract def size(): Int
Returns the upper bound for the number of currently cached entries.
Concrete Value Members
- def apply(key: K, f: (Promise[V]) => Unit): Future[V]
Returns either the cached Future for the key or evaluates the given function which should lead to eventual completion of the promise.
- def get(key: K, block: () => V): Future[V]
Returns either the cached Future for the given key or the given value as a Future
- final def getFuture(key: K, genValue: Creator[CompletionStage[V]]): CompletionStage[V]
Returns either the cached CompletionStage for the given key or evaluates the given value generating function producing a
CompletionStage<V>
. - def getKeys(): Set[K]
Returns the set of keys in the cache, in no particular order Should return in roughly constant time.
Returns the set of keys in the cache, in no particular order Should return in roughly constant time. Note that this number might not reflect the exact keys of active, unexpired cache entries, since expired entries are only evicted upon next access (or by being thrown out by a capacity constraint).
- def getOptional(key: K): Optional[CompletionStage[V]]
Retrieves the CompletionStage instance that is currently in the cache for the given key.
- def getOrCreateStrict(key: K, block: Creator[V]): CompletionStage[V]
Returns either the cached CompletionStage for the given key or the given value as a CompletionStage
- final def getOrFulfil(key: K, f: Procedure[CompletableFuture[V]]): CompletionStage[V]
Returns either the cached
CompletionStage
for the key, or evaluates the given function which should lead to eventual completion of the completable future.