userver: cache::LruCacheWrapper< Key, Value, Hash, Equal > Class Template Reference
Loading...
Searching...
No Matches
cache::LruCacheWrapper< Key, Value, Hash, Equal > Class Template Referencefinal

Detailed Description

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
class cache::LruCacheWrapper< Key, Value, Hash, Equal >

Definition at line 387 of file expirable_lru_cache.hpp.

Public Types

using Cache = ExpirableLruCache<Key, Value, Hash, Equal>
 
using ReadMode = typename Cache::ReadMode
 

Public Member Functions

 LruCacheWrapper (std::shared_ptr< Cache > cache, typename Cache::UpdateValueFunc update_func)
 
Value Get (const Key &key, ReadMode read_mode=ReadMode::kUseCache)
 Get cached value or evaluates if "key" is missing in cache.
 
std::optional< Value > GetOptional (const Key &key)
 Get cached value or "nullopt" if "key" is missing in cache.
 
void InvalidateByKey (const Key &key)
 
void UpdateInBackground (const Key &key)
 Update cached value in background.
 
std::shared_ptr< CacheGetCache ()
 Get raw cache. For internal use.
 

Member Typedef Documentation

◆ Cache

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
using cache::LruCacheWrapper< Key, Value, Hash, Equal >::Cache = ExpirableLruCache<Key, Value, Hash, Equal>

Definition at line 389 of file expirable_lru_cache.hpp.

◆ ReadMode

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
using cache::LruCacheWrapper< Key, Value, Hash, Equal >::ReadMode = typename Cache::ReadMode

Definition at line 390 of file expirable_lru_cache.hpp.

Constructor & Destructor Documentation

◆ LruCacheWrapper()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
cache::LruCacheWrapper< Key, Value, Hash, Equal >::LruCacheWrapper ( std::shared_ptr< Cache > cache,
typename Cache::UpdateValueFunc update_func )
inline

Definition at line 392 of file expirable_lru_cache.hpp.

Member Function Documentation

◆ Get()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
Value cache::LruCacheWrapper< Key, Value, Hash, Equal >::Get ( const Key & key,
ReadMode read_mode = ReadMode::kUseCache )
inline

Get cached value or evaluates if "key" is missing in cache.

Definition at line 397 of file expirable_lru_cache.hpp.

◆ GetCache()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
std::shared_ptr< Cache > cache::LruCacheWrapper< Key, Value, Hash, Equal >::GetCache ( )
inline

Get raw cache. For internal use.

Definition at line 414 of file expirable_lru_cache.hpp.

◆ GetOptional()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
std::optional< Value > cache::LruCacheWrapper< Key, Value, Hash, Equal >::GetOptional ( const Key & key)
inline

Get cached value or "nullopt" if "key" is missing in cache.

Definition at line 402 of file expirable_lru_cache.hpp.

◆ InvalidateByKey()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
void cache::LruCacheWrapper< Key, Value, Hash, Equal >::InvalidateByKey ( const Key & key)
inline

Definition at line 406 of file expirable_lru_cache.hpp.

◆ UpdateInBackground()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename Equal = std::equal_to<Key>>
void cache::LruCacheWrapper< Key, Value, Hash, Equal >::UpdateInBackground ( const Key & key)
inline

Update cached value in background.

Definition at line 409 of file expirable_lru_cache.hpp.


The documentation for this class was generated from the following file: