Struct redlock::RedLock[][src]

pub struct RedLock {
    pub servers: Vec<Client>,
    // some fields omitted
}
Expand description

The lock manager.

Implements the necessary functionality to acquire and release locks and handles the Redis connections.

Fields

servers: Vec<Client>

List of all Redis clients

Implementations

Create a new lock manager instance, defined by the given Redis connection uris. Quorum is defined to be N/2+1, with N being the number of given Redis instances.

Sample URI: "redis://127.0.0.1:6379"

Get 20 random bytes from /dev/urandom.

Set retry count and retry delay.

Retry count defaults to 3. Retry delay defaults to 200.

Acquire the lock for the given resource and the requested TTL.

If it succeeds, a Lock instance is returned, including the value and the validity time

If it fails. None is returned. A user should retry after a short wait time.

Unlock the given lock.

Unlock is best effort. It will simply try to contact all instances and remove the key.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.