Builder

Struct Builder 

Source
pub struct Builder { /* private fields */ }
Expand description

A builder for a RedisPool

Implementations§

Source§

impl Builder

Source

pub fn desired_pool_size(self, v: usize) -> Self

The number of connections a pool should have. If a pool with multiple sub pools is created, this value applies to each sub pool.

The default is 50.

Source

pub fn default_checkout_mode<T: Into<DefaultPoolCheckoutMode>>( self, v: T, ) -> Self

Sets the behaviour of the pool on checkouts if no specific behaviour was requested by the user.

Source

pub fn backoff_strategy(self, v: BackoffStrategy) -> Self

The BackoffStrategy to use when retrying on failures to create new connections

Source

pub fn reservation_limit(self, v: usize) -> Self

The maximum length of the queue for waiting checkouts when no idle connections are available. If a pool with multiple sub pools is created, this value applies to each sub pool.

The default is 50.

Source

pub fn activation_order(self, v: ActivationOrder) -> Self

Source

pub fn min_required_nodes(self, v: usize) -> Self

The minimum required nodes to start

Source

pub fn connect_to_nodes(self, v: Vec<String>) -> Self

The Redis nodes to connect to

Source

pub fn connect_to_node<T: Into<String>>(self, v: T) -> Self

The Redis node to connect to

Source

pub fn pool_multiplier(self, v: u32) -> Self

When the pool is created this is a multiplier for the amount of sub pools to be created.

Other values will be adjusted if the multiplier is > 1:

  • reservation_limit: Stays zero if zero, otherwise (reservation_limit/multiplier) +1
  • desired_pool_size: desired_pool_size/multiplier) +1
Source

pub fn checkout_queue_size(self, v: usize) -> Self

The number of checkouts that can be enqueued. If a pool with multiple sub pools is created, this value applies to each sub pool.

The default is 100.

Source

pub fn retry_on_checkout_limit(self, v: bool) -> Self

Set to true if a retry on a checkout should be made if the queue was full. Otherwise do not retry.

The default is true.

Source

pub fn default_command_timeout<T: Into<DefaultCommandTimeout>>( self, v: T, ) -> Self

A timeout for commands which is applied to all commands on all connections.

Source

pub fn task_executor(self, handle: Handle) -> Self

The executor to use for spawning tasks. If not set it is assumed that the pool is created on the default runtime.

Source

pub fn instrumented<I>(self, instrumentation: I) -> Self
where I: Instrumentation + Send + Sync + 'static,

Adds instrumentation to the pool

Source

pub fn update_from_environment( &mut self, prefix: Option<&str>, ) -> InitializationResult<()>

Sets values in this builder from the environment.

If no prefix is set all the given env key start with REOOL_. Otherwise the prefix is used with an automatically appended _.

  • DESIRED_POOL_SIZE: usize. Omit if you do not want to update the value
  • DEFAULT_POOL_CHECKOUT_MODE: The default checkout mode to use. Omit if you do not want to update the value
  • RESERVATION_LIMIT: usize. Omit if you do not want to update the value
  • ACTIVATION_ORDER: string. Omit if you do not want to update the value
  • MIN_REQUIRED_NODES: usize. Omit if you do not want to update the value
  • CONNECT_TO: [String]. Separated by ;. Omit if you do not want to update the value
  • POOL_MULTIPLIER: Omit if you do not want to update the value
  • CHECKOUT_QUEUE_SIZE: Omit if you do not want to update the value
  • RETRY_ON_CHECKOUT_LIMIT: Omit if you do not want to update the value
  • DEFAULT_COMMAND_TIMEOUT_MS: Omit if you do not want to update the value
Source

pub fn updated_from_environment( self, prefix: Option<&str>, ) -> InitializationResult<Self>

Updates this builder from the environment and returns Self.

If no prefix is set all the given env key start with REOOL_. Otherwise the prefix is used with an automatically appended _.

  • DESIRED_POOL_SIZE: usize. Omit if you do not want to update the value
  • DEFAULT_POOL_CHECKOUT_MODE: The default checkout mode to use. Omit if you do not want to update the value
  • RESERVATION_LIMIT: usize. Omit if you do not want to update the value
  • ACTIVATION_ORDER: string. Omit if you do not want to update the value
  • MIN_REQUIRED_NODES: usize. Omit if you do not want to update the value
  • CONNECT_TO: [String]. Separated by ;. Omit if you do not want to update the value
  • POOL_MULTIPLIER: Omit if you do not want to update the value
  • CHECKOUT_QUEUE_SIZE: Omit if you do not want to update the value
  • RETRY_ON_CHECKOUT_LIMIT: Omit if you do not want to update the value
  • DEFAULT_COMMAND_TIMEOUT_MS: Omit if you do not want to update the value
Source

pub fn finish<CF, F>( self, connection_factory: F, ) -> InitializationResult<RedisPool<CF::Connection>>
where F: Fn(String) -> InitializationResult<CF>, CF: ConnectionFactory + Send + Sync + 'static,

Build a new RedisPool with the given connection factory

Source

pub fn finish_redis_rs(self) -> InitializationResult<RedisPool>

Build a new RedisPool

Trait Implementations§

Source§

impl Default for Builder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V