Struct redlock::RedLock [] [src]

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

The lock manager.

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

Fields

List of all Redis clients

Methods

impl RedLock
[src]

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.