cached
fun <ObjectType, IdType> ReadCRUDRepo<ObjectType, IdType>.cached(kvCache: KVCache<IdType, ObjectType>, locker: SmartRWLocker = SmartRWLocker(), idGetter: (ObjectType) -> IdType): ReadCRUDCacheRepo<ObjectType, IdType>
fun <ObjectType, IdType, InputType> CRUDRepo<ObjectType, IdType, InputType>.cached(kvCache: KVCache<IdType, ObjectType>, scope: CoroutineScope, locker: SmartRWLocker = SmartRWLocker(), idGetter: (ObjectType) -> IdType): CRUDCacheRepo<ObjectType, IdType, InputType>
fun <Key, Value> ReadKeyValueRepo<Key, Value>.cached(kvCache: KVCache<Key, Value>, locker: SmartRWLocker = SmartRWLocker()): ReadKeyValueCacheRepo<Key, Value>
fun <Key, Value> KeyValueRepo<Key, Value>.cached(kvCache: KVCache<Key, Value>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), locker: SmartRWLocker = SmartRWLocker()): KeyValueCacheRepo<Key, Value>
fun <Key, Value> ReadKeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>, locker: SmartRWLocker = SmartRWLocker()): ReadKeyValuesCacheRepo<Key, Value>
fun <Key, Value> KeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), locker: SmartRWLocker = SmartRWLocker()): KeyValuesCacheRepo<Key, Value>