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
- All
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.