abstract class ConcurrentCache[Key, Value] extends Cache[Key, Value]
A cache that is concurrency-safe. This means it is able to look up a value, and if it does not exist, populate the value at that key, in a single, atomic action.
- Key
The type of the key used to look up values.
- Value
The type of the cached value.
- Alphabetic
- By Inheritance
- ConcurrentCache
- Cache
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ConcurrentCache()
Abstract Value Members
- abstract def getIfPresent(key: Key): Option[Value]
Retrieve a value by key, if it's present.
Retrieve a value by key, if it's present.
- Definition Classes
- Cache
- abstract def getOrAcquire(key: Key, acquire: (Key) => Value): Value
Retrieve a value by key if it's present.
Retrieve a value by key if it's present. If there is no value, atomically computes the value using the provided function, writes it to the cache, and returns it.
- abstract def invalidateAll(): Unit
Removes all cached entries.
Removes all cached entries.
- Definition Classes
- Cache
- abstract def put(key: Key, value: Value): Unit
Put a value into the cache.
Put a value into the cache.
This may cause values to be evicted at some point in the future.
- Definition Classes
- Cache
- abstract def putAll(mappings: Map[Key, Value]): Unit
Put all the entries of
mappings
into the cache.Put all the entries of
mappings
into the cache.- Definition Classes
- Cache
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapValues[NewValue](mapAfterReading: (Value) => NewValue, mapBeforeWriting: (NewValue) => Option[Value]): Cache[Key, NewValue]
Transform values when reading from or writing to the cache.
Transform values when reading from or writing to the cache.
Optionally allows the mapping to discard values by returning scala.None when transforming before writing.
- NewValue
The new value type.
- mapAfterReading
Transform values after reading.
- mapBeforeWriting
Transform values before writing. Discards the value if the result is scala.None.
- returns
A wrapped cache, backed by this cache.
- Definition Classes
- Cache
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])