Crate reool[][src]

Expand description

Reool

About

Reool is a REdis connection pOOL based on redis-rs.

Reool is aimed at either connecting to a single primary node or connecting to a replica set using the replicas as read only nodes.

Currently Reool is a fixed size connection pool. Reool provides an interface for instrumentation.

You should also consider multiplexing instead of a pool based upon your needs.

The ConnectionLike trait

Both PooledConnection and RedisPool implement the ConnectionLike interface of redis-rs for easy integration.

ConnectionLike::get_db should be handled with care since the pool will always return -1. Currently connections from the pool will also do so if the connection was teriminated by an IO error. So ConnectionLike::get_db so always handled with care.

Documentation

For documentation visit crates.io.

License

Reool is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details. License: Apache-2.0/MIT

Re-exports

pub use crate::error::CheckoutError;
pub use crate::error::CheckoutErrorKind;
pub use redis;

Modules

Configuration for RedisPool including a builder.

Building blocks for creating a ConnectionFactory

Pluggable instrumentation

Structs

Represents redis commands.

Simply a shortcut for CheckoutMode::Immediately

The result of a ping. Can either be a success or a failure.

A connection that has been taken from the pool.

Simply a shortcut for CheckoutMode::PoolDefault

The current state of the pool

Represents a redis error. For the most part you should be using the Error trait to interact with this rather than the actual struct.

A pool to one or more Redis instances.

A timeout which can also be seen as a deadline

Simply a shortcut for CheckoutMode::Wait

Enums

Various options on retrieving a connection

Helper enum that is used in some situations to describe the behavior of arguments in a numeric context.

Indicates whether a ping was a success or a failure

Internal low-level redis value enum.

Traits

Implements common redis commands over asynchronous connections. This allows you to send commands straight to a connection or client.

An async abstraction over connections.

This trait is used to convert a redis value into a more appropriate type. While a redis Value can represent any response that comes back from the redis server, usually you want to map this into something that works better in rust. For instance you might want to convert the return value into a String or an integer.

Something that can be put into the connection pool

A helper trait to easily execute common asynchronous Redis operations on a redis::aio::ConnectionLike

Used to convert a value into one or multiple redis argument strings. Most values will produce exactly one item but in some cases it might make sense to produce more than one.

Functions

Shortcut function to creating a command with a single argument.

Type Definitions

Library generic future type.