Table of Contents

Namespace StackExchange.Redis

Classes

ClientInfo

Represents the state of an individual client connection to redis

ClusterConfiguration

Describes the state of the cluster as reported by a single node

ClusterNode

Represents the configuration of a single node in a cluster configuration

CommandMap

Represents the commands mapped on a particular configuration

CommandTrace

Represents the information known about long-running commands

Condition

Describes a pre-condition used in a redis transaction

ConditionResult

Indicates the status of a condition as part of a transaction

ConfigurationOptions

The options relevant to a set of redis connections

ConnectionCounters

Illustrates the counters associated with an individual connection

ConnectionFailedEventArgs

Contains information about a server connection failure

ConnectionMultiplexer

Represents an inter-related group of connections to redis servers

ConvertHelper

Helper for Array.ConvertAll() as it's missing on .Net Core.

EndPointCollection

A list of endpoints

EndPointEventArgs

Event information related to redis endpoints

ExponentialRetry

Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries.

ExtensionMethods

Utility methods

HashSlotMovedEventArgs

Contains information about individual hash-slot relocations

InternalErrorEventArgs

Describes internal errors (mainly intended for debugging)

LinearRetry

Represents a retry policy that performs retries at a fixed interval. The retries are performed upto a maximum allowed time.

LoadedLuaScript

Represents a Lua script that can be executed on Redis.

Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass the whole script on each call. This requires that the script be loaded into Redis before it is used.

To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then call Load(IServer, CommandFlags) on the returned LuaScript.

Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). Public fields and properties of the passed in object are treated as parameters.

Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, so as to play nicely with Redis Cluster.

All members of this class are thread safe.

LuaScript

Represents a Lua script that can be executed on Redis.

Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). Public fields and properties of the passed in object are treated as parameters.

Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, so as to play nicely with Redis Cluster.

All members of this class are thread safe.

RedisCommandException

Indicates that a command was illegal and was not sent to the server

RedisConnectionException

Indicates a connection fault when communicating with redis

RedisErrorEventArgs

Notification of errors from the redis server

RedisException

Indicates an issue communicating with redis

RedisResult

Represents a general-purpose result from redis, that may be cast into various anticipated types

RedisServerException

Indicates an exception raised by a redis server

RedisTimeoutException

Indicates the time allotted for a command or operation has expired.

ServerCounters

Illustrates the queues associates with this server

SocketManager

A SocketManager monitors multiple sockets for availability of data; this is done using the Socket.Select API and a dedicated reader-thread, which allows for fast responses even when the system is under ambient load.

Structs

GeoEntry

Describes a GeoEntry element with the corresponding value GeoEntries are stored in redis as SortedSetEntries

GeoPosition

Describes the longitude and latitude of a GeoEntry

GeoRadiusResult

The result of a GeoRadius command.

HashEntry

Describes a hash-field (a name/value pair)

ProfiledCommandEnumerable

A collection of IProfiledCommands.

This is a very light weight data structure, only supporting enumeration.

While it implements IEnumerable, it there are fewer allocations if one uses it's explicit GetEnumerator() method. Using foreach does this automatically.

This type is not threadsafe.

ProfiledCommandEnumerable.Enumerator

Implements IEnumerator for ProfiledCommandEnumerable. This implementation is comparable to List.Enumerator and Dictionary.Enumerator, and is provided to reduce allocations in the common (ie. foreach) case.

This type is not threadsafe.

RedisChannel

Represents a pub/sub channel name

RedisFeatures

Provides basic information about the features available on a particular version of Redis

RedisKey

Represents a key that can be stored in redis

RedisValue

Represents values that can be stored in redis

RedisValueWithExpiry

Describes a value/expiry pair

SlotRange

Indicates a range of slots served by a cluster node

SortedSetEntry

Describes a sorted-set element with the corresponding value

Interfaces

IBatch

Represents a block of operations that will be sent to the server together; this can be useful to reduce packet fragmentation on slow connections - it can improve the time to get all the operations processed, with the trade-off of a slower time to get the first operation processed; this is usually a good thing. Unless this batch is a transaction, there is no guarantee that these operations will be processed either contiguously or atomically by the server.

IConnectionMultiplexer

Represents the abstract multiplexer API

IDatabase

Describes functionality that is common to both standalone redis servers and redis clusters

IDatabaseAsync

Describes functionality that is common to both standalone redis servers and redis clusters

IProfiledCommand

A profiled command against a redis instance.

TimeSpans returned by this interface use a high precision timer if possible. DateTimes returned by this interface are no more precise than DateTime.UtcNow.

IProfiler

Interface for profiling individual commands against an Redis ConnectionMulitplexer.

IReconnectRetryPolicy

Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects

IRedis

Common operations available to all redis connections

IRedisAsync

Common operations available to all redis connections

IScanningCursor

Represents a resumable, cursor-based scanning operation

IServer

Provides configuration controls of a redis server

ISubscriber

A redis connection used as the subscriber in a pub/sub scenario

ITransaction

Represents a group of operations that will be sent to the server as a single unit, and processed on the server as a single unit. Transactions can also include constraints (implemented via WATCH), but note that constraint checking involves will (very briefly) block the connection, since the transaction cannot be correctly committed (EXEC), aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from the constraint checks have arrived.

Enums

Aggregate

Specifies how elements should be aggregated when combining sorted sets

Bitwise

Bitwise operators

ClientFlags

The client flags can be a combination of: O: the client is a slave in MONITOR mode S: the client is a normal slave server M: the client is a master x: the client is in a MULTI/EXEC context b: the client is waiting in a blocking operation i: the client is waiting for a VM I/O (deprecated) d: a watched keys has been modified - EXEC will fail c: connection to be closed after writing entire reply u: the client is unblocked A: connection to be closed ASAP N: no specific flag set

ClientType

The class of the connection

CommandFlags

Behaviour markers associated with a given command

CommandStatus

track status of a command while communicating with Redis

CompletionType

Completion type for CompletionTypeHelper

ConnectionFailureType

The known types of connection failure

ConnectionType

The type of a connection

Exclude

When performing a range query, by default the start / stop limits are inclusive; however, both can also be specified separately as exclusive

ExportOptions

Which settings to export

GeoRadiusOptions

GeoRadius command options.

GeoUnit

Units associated with Geo Commands

MigrateOptions

Additional options for the MIGRATE command

Order

The direction in which to sequence elements

Proxy

Specifies the proxy that is being used to communicate to redis

RedisChannel.PatternMode

The matching pattern for this channel

RedisType

The intrinsinc data-types supported by redis

ReplicationChangeOptions

Additional operations to perform when making a server a master

RetransmissionReasonType

If an IProfiledCommand is a retransmission of a previous command, this enum is used to indicate what prompted the retransmission.

This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) and incorrect routing.

SaveType

The type of save operation to perform

ServerType

Indicates the flavor of a particular redis server

SetOperation

Describes an algebraic set operation that can be performed to combine multiple sets

ShutdownMode

Defines the persistence behaviour of the server during shutdown

SortType

Specifies how to compare elements for sorting

When

Indicates when this operation should be performed (only some variations are legal in a given context)