#include <userver/storages/redis/command_control.hpp>
Redis command execution options.
Definition at line 73 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 74 of file command_control.hpp.
| std::optional<bool> redis::CommandControl::account_in_statistics | 
Controls if the command execution accounted in statistics.
Definition at line 114 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 111 of file command_control.hpp.
| std::optional<std::size_t> redis::CommandControl::best_dc_count | 
How many nearest DCs to use.
Definition at line 101 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 120 of file command_control.hpp.
| std::optional<bool> redis::CommandControl::force_request_to_master | 
Force execution on master node.
Definition at line 104 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 128 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 125 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 117 of file command_control.hpp.
| std::optional<std::chrono::milliseconds> redis::CommandControl::max_ping_latency | 
Server latency limit.
Definition at line 107 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 95 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 133 of file command_control.hpp.
| std::optional<Strategy> redis::CommandControl::strategy | 
Server instance selection strategy.
Definition at line 98 of file command_control.hpp.
| std::optional<std::chrono::milliseconds> redis::CommandControl::timeout_all | 
Command execution timeout, including retries.
Definition at line 92 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 89 of file command_control.hpp.