Struct redis::Connection
source · [−]pub struct Connection { /* private fields */ }
Expand description
Represents a stateful redis TCP connection.
Implementations
sourceimpl Connection
impl Connection
A connection is an object that represents a single redis connection. It provides basic support for sending encoded commands into a redis connection and to read a response from it. It’s bound to a single database and can only be created from the client.
You generally do not much with this object other than passing it to
Cmd
objects.
sourcepub fn send_packed_command(&mut self, cmd: &[u8]) -> RedisResult<()>
pub fn send_packed_command(&mut self, cmd: &[u8]) -> RedisResult<()>
Sends an already encoded (packed) command into the TCP socket and
does not read a response. This is useful for commands like
MONITOR
which yield multiple items. This needs to be used with
care because it changes the state of the connection.
sourcepub fn recv_response(&mut self) -> RedisResult<Value>
pub fn recv_response(&mut self) -> RedisResult<Value>
Fetches a single response from the connection. This is useful
if used in combination with send_packed_command
.
sourcepub fn set_write_timeout(&self, dur: Option<Duration>) -> RedisResult<()>
pub fn set_write_timeout(&self, dur: Option<Duration>) -> RedisResult<()>
Sets the write timeout for the connection.
If the provided value is None
, then send_packed_command
call will
block indefinitely. It is an error to pass the zero Duration
to this
method.
sourcepub fn set_read_timeout(&self, dur: Option<Duration>) -> RedisResult<()>
pub fn set_read_timeout(&self, dur: Option<Duration>) -> RedisResult<()>
Sets the read timeout for the connection.
If the provided value is None
, then recv_response
call will
block indefinitely. It is an error to pass the zero Duration
to this
method.
Trait Implementations
sourceimpl ConnectionLike for Connection
impl ConnectionLike for Connection
sourcefn req_packed_command(&mut self, cmd: &[u8]) -> RedisResult<Value>
fn req_packed_command(&mut self, cmd: &[u8]) -> RedisResult<Value>
Sends an already encoded (packed) command into the TCP socket and reads the single response from it. Read more
sourcefn req_packed_commands(
&mut self,
cmd: &[u8],
offset: usize,
count: usize
) -> RedisResult<Vec<Value>>
fn req_packed_commands(
&mut self,
cmd: &[u8],
offset: usize,
count: usize
) -> RedisResult<Vec<Value>>
Sends multiple already encoded (packed) command into the TCP socket
and reads count
responses from it. This is used to implement
pipelining. Read more
sourcefn get_db(&self) -> i64
fn get_db(&self) -> i64
Returns the database this connection is bound to. Note that this information might be unreliable because it’s initially cached and also might be incorrect if the connection like object is not actually connected. Read more
sourcefn check_connection(&mut self) -> bool
fn check_connection(&mut self) -> bool
Check that all connections it has are available (PING
internally).
sourcefn req_command(&mut self, cmd: &Cmd) -> RedisResult<Value>
fn req_command(&mut self, cmd: &Cmd) -> RedisResult<Value>
Sends a Cmd into the TCP socket and reads a single response from it.
sourceimpl PubSubCommands for Connection
impl PubSubCommands for Connection
sourcefn subscribe<C, F, U>(&mut self, channels: C, func: F) -> RedisResult<U> where
F: FnMut(Msg) -> ControlFlow<U>,
C: ToRedisArgs,
fn subscribe<C, F, U>(&mut self, channels: C, func: F) -> RedisResult<U> where
F: FnMut(Msg) -> ControlFlow<U>,
C: ToRedisArgs,
Subscribe to a list of channels using SUBSCRIBE and run the provided closure for each message received. Read more
sourcefn psubscribe<P, F, U>(&mut self, patterns: P, func: F) -> RedisResult<U> where
F: FnMut(Msg) -> ControlFlow<U>,
P: ToRedisArgs,
fn psubscribe<P, F, U>(&mut self, patterns: P, func: F) -> RedisResult<U> where
F: FnMut(Msg) -> ControlFlow<U>,
P: ToRedisArgs,
Subscribe to a list of channels using PSUBSCRIBE and run the provided closure for each message received. Read more
Auto Trait Implementations
impl !RefUnwindSafe for Connection
impl Send for Connection
impl Sync for Connection
impl Unpin for Connection
impl !UnwindSafe for Connection
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more