class Redis

Overview

The class is the main entry point for the Redis client.

How to use:

Require the package:

require "redis"

Then instantiate this client class:

redis = Redis.new

Then you can call Redis commands on the redis object:

redis.set("foo", "bar")
redis.get("foo")
redis.incr("visitors")

See the mixin module Commands for most of the available Redis commands such as #incr, #rename, and so on.

Multithreading / Coroutines

Please mind that a Redis object can't be shared across multiple threads/coroutines! Each thread/coroutine that wants to talk to Redis needs its own Redis object instance.

Included Modules

Defined in:

lib/redis/src/redis.cr
lib/redis/src/redis/command_execution/future_oriented.cr
lib/redis/src/redis/command_execution/value_oriented.cr
lib/redis/src/redis/commands.cr
lib/redis/src/redis/strategy/base.cr
redis-sentinel.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(host : String = "localhost", port : Int32 = 6379, unixsocket : String | Nil = nil, password : String | Nil = nil, database : Int32 | Nil = nil, url = nil, ssl : Bool = false, ssl_context : OpenSSL::SSL::Context::Client | Nil = nil, dns_timeout : Time::Span | Nil = nil, connect_timeout : Time::Span | Nil = nil, reconnect : Bool = true, command_timeout : Time::Span | Nil = nil, role : String | Nil = "master", sentinels : Array(Hash(Symbol, String | Int32)) | Nil = nil) #

new overloaded constructor allowing sentinel config


[View source]

Instance Method Detail

def resolve_master #

find a master Redis instance via a given sentinel ported from Redis::Client::Connector::Sentinel#resolve_master


[View source]
def resolve_sentinel #

finds appropriate Redis instance via Sentinel ported from Redis::Client::Connector::Sentinel#resolve


[View source]
def resolve_slave #

find a slave Redis instance via a given sentinel ported from Redis::Client::Connector::Sentinel#resolve_slave


[View source]
def sentinel_detect(&) #

sentinel checker, attempts connection to potential sentinels and passes viable candidate to block ported from Redis::Client::Connector::Sentinel#sentinel_detect


[View source]