#include <userver/storages/redis/command_control.hpp>
Redis command execution options.
Definition at line 71 of file command_control.hpp.
Public Types | |
enum class | Strategy { kDefault , kEveryDc , kLocalDcConductor , kNearestServerPing } |
Public Member Functions | |
CommandControl (const std::optional< std::chrono::milliseconds > &timeout_single, const std::optional< std::chrono::milliseconds > &timeout_all, const std::optional< size_t > &max_retries) | |
bool | operator== (const CommandControl &other) const |
CommandControl | MergeWith (const CommandControl &b) const |
CommandControl | MergeWith (const testsuite::RedisControl &) const |
CommandControl | MergeWith (RetryNilFromMaster) const |
std::string | ToString () const |
Public Attributes | |
std::optional< std::chrono::milliseconds > | timeout_single |
Timeout for a single attempt to execute command. | |
std::optional< std::chrono::milliseconds > | timeout_all |
Command execution timeout, including retries. | |
std::optional< std::size_t > | max_retries |
The maximum number of retries while executing command. | |
std::optional< Strategy > | strategy |
Server instance selection strategy. | |
std::optional< std::size_t > | best_dc_count |
How many nearest DCs to use. | |
std::optional< bool > | force_request_to_master |
Force execution on master node. | |
std::optional< std::chrono::milliseconds > | max_ping_latency |
Server latency limit. | |
std::optional< bool > | allow_reads_from_master |
std::optional< bool > | account_in_statistics |
Controls if the command execution accounted in statistics. | |
std::optional< std::size_t > | force_shard_idx |
If set, force execution on specific shard. | |
std::optional< std::size_t > | chunk_size |
Split execution of multi-key commands (i.e., MGET) to multiple requests. | |
std::optional< ServerId > | force_server_id |
bool | force_retries_to_master_on_nil_reply {false} |
If set, command retries are directed to the master instance. | |
size_t | retry_counter {0} |
|
strong |
Definition at line 72 of file command_control.hpp.
std::optional<bool> redis::CommandControl::account_in_statistics |
Controls if the command execution accounted in statistics.
Definition at line 112 of file command_control.hpp.
std::optional<bool> redis::CommandControl::allow_reads_from_master |
Allow execution of readonly commands on master node along with replica nodes to facilitate load distribution
Definition at line 109 of file command_control.hpp.
std::optional<std::size_t> redis::CommandControl::best_dc_count |
How many nearest DCs to use.
Definition at line 99 of file command_control.hpp.
std::optional<std::size_t> redis::CommandControl::chunk_size |
Split execution of multi-key commands (i.e., MGET) to multiple requests.
Definition at line 118 of file command_control.hpp.
std::optional<bool> redis::CommandControl::force_request_to_master |
Force execution on master node.
Definition at line 102 of file command_control.hpp.
bool redis::CommandControl::force_retries_to_master_on_nil_reply {false} |
If set, command retries are directed to the master instance.
Definition at line 126 of file command_control.hpp.
std::optional<ServerId> redis::CommandControl::force_server_id |
If set, the user wants a specific Redis instance to handle the command. Sentinel may not redirect the command to other instances. strategy is ignored.
Definition at line 123 of file command_control.hpp.
std::optional<std::size_t> redis::CommandControl::force_shard_idx |
If set, force execution on specific shard.
Definition at line 115 of file command_control.hpp.
std::optional<std::chrono::milliseconds> redis::CommandControl::max_ping_latency |
Server latency limit.
Definition at line 105 of file command_control.hpp.
std::optional<std::size_t> redis::CommandControl::max_retries |
The maximum number of retries while executing command.
Definition at line 93 of file command_control.hpp.
size_t redis::CommandControl::retry_counter {0} |
Need to be set to if you do manual retries and want retry budget to work. If set value other than 0 then request treated as retry. 0 - original request, 1 - first retry, 2 - second and so on
Definition at line 131 of file command_control.hpp.
std::optional<Strategy> redis::CommandControl::strategy |
Server instance selection strategy.
Definition at line 96 of file command_control.hpp.
std::optional<std::chrono::milliseconds> redis::CommandControl::timeout_all |
Command execution timeout, including retries.
Definition at line 90 of file command_control.hpp.
std::optional<std::chrono::milliseconds> redis::CommandControl::timeout_single |
Timeout for a single attempt to execute command.
Definition at line 87 of file command_control.hpp.