class
ReadThroughStore[K, V] extends ReadableStore[K, V]
Instance Constructors
-
new
ReadThroughStore(backingStore: ReadableStore[K, V], cache: Store[K, V])
Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
def
close(time: Time): Future[Unit]
-
def
close(after: Duration): Future[Unit]
-
final
def
close(): Future[Unit]
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
def
get(k: K): Future[Option[V]]
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
def
multiGet[K1 <: K](ks: Set[K1]): Map[K1, Future[Option[V]]]
-
lazy val
mutex: AsyncMutex
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from Closable
Inherited from AnyRef
Inherited from Any
Provides read-through caching on a readable store fronted by a cache.
Keys are fetched from backing store on cache miss and cache read failures.
All cache operations are best effort i.e. 'get' will return the key from backing store even if adding/updating the cached copy fails.
On the other hand, any failure while reading from backing store is propagated to the client.
Thread-safety is achieved using a mutex.