#include <userver/cache/base_mongo_cache.hpp>
Base class for all caches polling mongo collection
You have to provide a traits class in order to use this.
See components::CachingComponentBase
All options of CachingComponentBase and
Name | Description | Default value |
---|---|---|
update-correction | adjusts incremental updates window to overlap with previous update | 0 |
All fields below (except for function overrides) are mandatory.
Definition at line 122 of file base_mongo_cache.hpp.
Public Member Functions | |
MongoCache (const ComponentConfig &, const ComponentContext &) | |
Public Member Functions inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
CachingComponentBase (const ComponentConfig &config, const ComponentContext &) | |
utils::SharedReadablePtr< MongoCacheTraits::DataType > | Get () const |
utils::SharedReadablePtr< MongoCacheTraits::DataType > | GetUnsafe () const |
concurrent::AsyncEventSubscriberScope | UpdateAndListen (Class *obj, std::string name, void(Class::*func)(const std::shared_ptr< const MongoCacheTraits::DataType > &)) |
concurrent::AsyncEventChannel< const std::shared_ptr< const MongoCacheTraits::DataType > & > & | GetEventChannel () |
Public Member Functions inherited from components::LoggableComponentBase | |
LoggableComponentBase (const ComponentConfig &, const ComponentContext &) | |
LoggableComponentBase (LoggableComponentBase &&)=delete | |
LoggableComponentBase (const LoggableComponentBase &)=delete | |
~LoggableComponentBase () override=default | |
ComponentHealth | GetComponentHealth () const override |
void | OnLoadingCancelled () override |
void | OnAllComponentsLoaded () override |
void | OnAllComponentsAreStopping () override |
Static Public Member Functions | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from components::LoggableComponentBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Attributes | |
static constexpr std::string_view | kName = MongoCacheTraits::kName |
Additional Inherited Members | |
Public Types inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
using | DataType |
Protected Types inherited from cache::CacheUpdateTrait | |
enum class | Flag { kNone = 0 , kNoFirstUpdate = 1 << 0 } |
Periodic update flags. More... | |
Protected Member Functions inherited from components::CachingComponentBase< MongoCacheTraits::DataType > | |
void | Set (std::unique_ptr< const MongoCacheTraits::DataType > value_ptr) |
void | Set (MongoCacheTraits::DataType &&value) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | Emplace (Args &&... args) |
void | Clear () |
Clears the content of the cache by string a default constructed T. | |
virtual bool | MayReturnNull () const |
virtual void | PreAssignCheck (const MongoCacheTraits::DataType *old_value_ptr, const MongoCacheTraits::DataType *new_value_ptr) const |
If the option has-pre-assign-check is set true in static config, this function is called before assigning the new value to the cache. | |
virtual void | WriteContents (dump::Writer &writer, const MongoCacheTraits::DataType &contents) const |
virtual std::unique_ptr< const MongoCacheTraits::DataType > | ReadContents (dump::Reader &reader) const |
Protected Member Functions inherited from cache::CacheUpdateTrait | |
AllowedUpdateTypes | GetAllowedUpdateTypes () const |
Update types configured for the cache. | |
void | StartPeriodicUpdates (utils::Flags< Flag > flags={}) |
Starts periodic updates. | |
void | StopPeriodicUpdates () |
Stops periodic updates. | |
void | AssertPeriodicUpdateStarted () |
void | OnCacheModified () |
CacheUpdateTrait (CacheUpdateTrait &&)=delete | |
CacheUpdateTrait & | operator= (CacheUpdateTrait &&)=delete |
void | InvalidateAsync (UpdateType update_type) |
Non-blocking forced cache update of specified type. | |
void | UpdateSyncDebug (UpdateType update_type) |
Forces a cache update of specified type. | |
const std::string & | Name () const |
components::MongoCache< MongoCacheTraits >::MongoCache | ( | const ComponentConfig & | config, |
const ComponentContext & | context ) |
Definition at line 164 of file base_mongo_cache.hpp.
components::MongoCache< MongoCacheTraits >::~MongoCache | ( | ) |
Definition at line 200 of file base_mongo_cache.hpp.
|
static |
Definition at line 346 of file base_mongo_cache.hpp.
|
staticconstexpr |
Definition at line 128 of file base_mongo_cache.hpp.