Packages

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
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Cache
  2. Cache
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Cache()

Abstract Value Members

  1. 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].

  2. abstract def clear(): Unit

    Clears the cache by removing all entries.

    Clears the cache by removing all entries.

    Definition Classes
    CacheCache
  3. 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.

  4. 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].

  5. 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).

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

  7. abstract def remove(key: K): Unit

    Removes the cache item for the given key.

    Removes the cache item for the given key.

    Definition Classes
    CacheCache
  8. abstract def size(): Int

    Returns the upper bound for the number of currently cached entries.

    Returns the upper bound for the number of currently cached entries. Note that this number might not reflect the exact number of active, unexpired cache entries, since expired entries are only evicted upon next access (or by being thrown out by a capacity constraint).

    Definition Classes
    CacheCache

Concrete Value Members

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

  2. def get(key: K, block: () => V): Future[V]

    Returns either the cached Future for the given key or the given value as a Future

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

    Returns either the cached CompletionStage for the given key or evaluates the given value generating function producing a CompletionStage<V>.

    Definition Classes
    CacheCache
  4. 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).

    Definition Classes
    CacheCache
  5. def getOptional(key: K): Optional[CompletionStage[V]]

    Retrieves the CompletionStage instance that is currently in the cache for the given key.

    Retrieves the CompletionStage instance that is currently in the cache for the given key. Returns None if the key has no corresponding cache entry.

    Definition Classes
    CacheCache
  6. 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

    Returns either the cached CompletionStage for the given key or the given value as a CompletionStage

    Definition Classes
    CacheCache
  7. 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.

    Returns either the cached CompletionStage for the key, or evaluates the given function which should lead to eventual completion of the completable future.

    Definition Classes
    CacheCache