Package akka.http.caching
Class LfuCache<K,V>
- java.lang.Object
-
- akka.http.caching.scaladsl.Cache<K,V>
-
- akka.http.caching.LfuCache<K,V>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description scala.concurrent.Future<V>
apply(K key, scala.Function0<scala.concurrent.Future<V>> genValue)
Returns either the cached Future for the given key or evaluates the given value generating function producing aFuture[V]
.void
clear()
Clears the cache by removing all entries.static <K,V>
Cache<K,V>create(akka.actor.ActorSystem system)
Java API Creates a newLfuCache
using configuration of the system, with optional expiration depending on whether a non-zero and finite timeToLive and/or timeToIdle is set or not.static <K,V>
Cache<K,V>create(CachingSettings settings)
Java API Creates a newLfuCache
, with optional expiration depending on whether a non-zero and finite timeToLive and/or timeToIdle is set or not.scala.Option<scala.concurrent.Future<V>>
get(K key)
Retrieves the future instance that is currently in the cache for the given key.scala.concurrent.Future<V>
getOrLoad(K key, scala.Function1<K,scala.concurrent.Future<V>> loadValue)
Returns either the cached Future for the given key, or applies the given value loading function on the key, producing aFuture[V]
.scala.collection.immutable.Set<K>
keys()
Returns the set of keys in the cache, in no particular order Should return in roughly constant time.scala.concurrent.Future<V>
put(K key, scala.concurrent.Future<V> mayBeValue, scala.concurrent.ExecutionContext ex)
Multiple call to put method for the same key may result in a race condition, the value yield by the last successful future for that key will replace any previously cached value.void
remove(K key)
Removes the cache item for the given key.int
size()
Returns the upper bound for the number of currently cached entries.com.github.benmanes.caffeine.cache.AsyncCache<K,V>
store()
static <K,V>
java.util.function.BiFunction<K,java.util.concurrent.Executor,java.util.concurrent.CompletableFuture<V>>toJavaMappingFunction(scala.Function0<scala.concurrent.Future<V>> genValue)
static <K,V>
java.util.function.BiFunction<K,java.util.concurrent.Executor,java.util.concurrent.CompletableFuture<V>>toJavaMappingFunction(scala.Function1<K,scala.concurrent.Future<V>> loadValue)
-
Methods inherited from class akka.http.caching.scaladsl.Cache
apply, get, getFuture, getKeys, getOptional, getOrCreateStrict, getOrFulfil
-
-
-
-
Method Detail
-
create
public static <K,V> Cache<K,V> create(akka.actor.ActorSystem system)
Java API Creates a newLfuCache
using configuration of the system, with optional expiration depending on whether a non-zero and finite timeToLive and/or timeToIdle is set or not.- Parameters:
system
- (undocumented)- Returns:
- (undocumented)
-
create
public static <K,V> Cache<K,V> create(CachingSettings settings)
Java API Creates a newLfuCache
, with optional expiration depending on whether a non-zero and finite timeToLive and/or timeToIdle is set or not.- Parameters:
settings
- (undocumented)- Returns:
- (undocumented)
-
toJavaMappingFunction
public static <K,V> java.util.function.BiFunction<K,java.util.concurrent.Executor,java.util.concurrent.CompletableFuture<V>> toJavaMappingFunction(scala.Function0<scala.concurrent.Future<V>> genValue)
-
toJavaMappingFunction
public static <K,V> java.util.function.BiFunction<K,java.util.concurrent.Executor,java.util.concurrent.CompletableFuture<V>> toJavaMappingFunction(scala.Function1<K,scala.concurrent.Future<V>> loadValue)
-
get
public scala.Option<scala.concurrent.Future<V>> get(K key)
Description copied from class:Cache
Retrieves the future instance that is currently in the cache for the given key. Returns None if the key has no corresponding cache entry.
-
apply
public scala.concurrent.Future<V> apply(K key, scala.Function0<scala.concurrent.Future<V>> genValue)
Description copied from class:Cache
Returns either the cached Future for the given key or evaluates the given value generating function producing aFuture[V]
.
-
put
public scala.concurrent.Future<V> put(K key, scala.concurrent.Future<V> mayBeValue, scala.concurrent.ExecutionContext ex)
Multiple call to put method for the same key may result in a race condition, the value yield by the last successful future for that key will replace any previously cached value.
-
getOrLoad
public scala.concurrent.Future<V> getOrLoad(K key, scala.Function1<K,scala.concurrent.Future<V>> loadValue)
Description copied from class:Cache
Returns either the cached Future for the given key, or applies the given value loading function on the key, producing aFuture[V]
.
-
remove
public void remove(K key)
Description copied from class:Cache
Removes the cache item for the given key.
-
clear
public void clear()
Description copied from class:Cache
Clears the cache by removing all entries.
-
keys
public scala.collection.immutable.Set<K> keys()
Description copied from class:Cache
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).
-
size
public int size()
Description copied from class:Cache
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).
-
-