Classes and functions for performing hedged requests.
Use MakeHedgedRedisRequest method to perform hedged redis request.
Example(Sync): auto result = ::redis::MakeHedgedRedisRequest<storages::redis::RequestHGet>( redis_client_shared_ptr, &storages::redis::Client::Hget, redis_cc, hedging_settings, key, field); Example(Async): auto future = ::redis::MakeHedgedRedisRequestAsync<storages::redis::RequestHGet>( redis_client_shared_ptr, &storages::redis::Client::Hget, redis_cc, hedging_settings, key, field); auto result = future.Get();
Definition in file hedged_request.hpp.
Go to the source code of this file.
#include <optional>#include <userver/storages/redis/client.hpp>#include <userver/storages/redis/command_control.hpp>#include <userver/utils/hedged_request.hpp>Namespaces | |
| namespace | storages |
| Components, clients and helpers for different databases and storages. | |
| namespace | storages::redis |
| Valkey and Redis client and helpers. | |
Typedefs | |
| template<typename RedisRequestType> | |
| using | storages::redis::HedgedRedisRequest = utils::hedging::HedgedRequestFuture<impl::RedisRequestStrategy<RedisRequestType>> |
Functions | |
| template<typename RedisRequestType, typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)> | |
| HedgedRedisRequest< RedisRequestType > | storages::redis::MakeHedgedRedisRequestAsync (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, Args... args) |
| template<typename RedisRequestType, typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)> | |
| std::optional< typename RedisRequestType::Reply > | storages::redis::MakeHedgedRedisRequest (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, Args... args) |
| template<typename RedisRequestType, typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)> | |
| std::vector< std::optional< typename RedisRequestType::Reply > > | storages::redis::MakeBulkHedgedRedisRequest (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, std::vector< std::tuple< Args... > > args) |
| template<typename RedisRequestType, typename... Args, typename M = RedisRequestType (storages::redis::Client::*)(Args..., const redis::CommandControl&)> | |
| utils::hedging::HedgedRequestBulkFuture< redis::impl::RedisRequestStrategy< RedisRequestType > > | storages::redis::MakeBulkHedgedRedisRequestAsync (std::shared_ptr< storages::redis::Client > redis, M method, const redis::CommandControl &cc, utils::hedging::HedgingSettings hedging_settings, std::vector< std::tuple< Args... > > args) |