StackExchange.Redis
Specifies how elements should be aggregated when combining sorted sets
The values of the combined elements are added
The least value of the combined elements is used
The greatest value of the combined elements is used
Bitwise operators
And
Or
Xor
Not
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
no specific flag set
the client is a slave in MONITOR mode
the client is a normal slave server
the client is a master
the client is in a MULTI/EXEC context
the client is waiting in a blocking operation
a watched keys has been modified - EXEC will fail
connection to be closed after writing entire reply
the client is unblocked
connection to be closed ASAP
Represents the state of an individual client connection to redis
Address (host and port) of the client
total duration of the connection in seconds
current database ID
The flags associated with this connection
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
The host of the client (typically an IP address)
idle time of the connection in seconds
last command played
The name allocated to this connection, if any
number of pattern matching subscriptions
The port of the client
The raw content from redis
number of channel subscriptions
number of commands in a MULTI/EXEC context
an unique 64-bit client ID (introduced in Redis 2.8.12).
Format the object as a string
The class of the connection
The class of the connection
Regular connections, including MONITOR connections
Replication connections
Subscription connections
Indicates a range of slots served by a cluster node
Create a new SlotRange value
The start of the range (inclusive)
The end of the range (inclusive)
Indicates whether two ranges are not equal
Indicates whether two ranges are equal
Try to parse a string as a range
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
See Object.Equals
Indicates whether two ranges are equal
See Object.GetHashCode()
See Object.ToString()
Describes the state of the cluster as reported by a single node
Gets all nodes contained in the configuration
The node that was asked for the configuration
Obtain the node relating to a specified endpoint
Gets the node that serves the specified slot
Gets the node that serves the specified slot
Represents the configuration of a single node in a cluster configuration
Gets all child nodes of the current node
Gets the endpoint of the current node
Gets whether this is the node which responded to the CLUSTER NODES request
Gets whether this node is a slave
Gets whether this node is flagged as noaddr
Gets the node's connection status
Gets the unique node-id of the current node
Gets the parent node of the current node
Gets the unique node-id of the parent of the current node
The configuration as reported by the server
The slots owned by this server
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
See Object.Equals
Indicates whether two ClusterNode instances are equivalent
See object.GetHashCode()
See Object.ToString()
Behaviour markers associated with a given command
Default behaviour.
This command may jump regular-priority commands that have not yet been written to the redis stream.
The caller is not interested in the result; the caller will immediately receive a default-value
of the expected return type (this value is not indicative of anything at the server).
This operation should be performed on the master if it is available, but read operations may
be performed on a slave if no master is available. This is the default option.
This operation should only be performed on the master.
This operation should be performed on the slave if it is available, but will be performed on
a master if no slaves are available. Suitable for read operations only.
This operation should only be performed on a slave. Suitable for read operations only.
Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response
Represents the commands mapped on a particular configuration
The default commands specified by redis
The commands available to https://github.com/twitter/twemproxy
https://github.com/twitter/twemproxy/blob/master/notes/redis.md
The commands available to http://www.ideawu.com/ssdb/
http://www.ideawu.com/ssdb/docs/redis-to-ssdb.html
The commands available to http://redis.io/topics/sentinel
http://redis.io/topics/sentinel
Create a new CommandMap, customizing some commands
Creates a CommandMap by specifying which commands are available or unavailable
See Object.ToString()
Represents the information known about long-running commands
The array composing the arguments of the command.
The amount of time needed for its execution
The time at which the logged command was processed.
A unique progressive identifier for every slow log entry.
The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it.
Deduces a link to the redis documentation about the specified command
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.
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.
The current element.
Advances the enumeration, returning true if there is a new element to consume and false
if enumeration is complete.
Resets the enumeration.
Disposes the enumeration.
subsequent attempts to enumerate results in undefined behavior.
Returns an implementor of IEnumerator that, provided it isn't accessed
though an interface, avoids allocations.
`foreach` will automatically use this method.
A thread-safe collection tailored to the "always append, with high contention, then enumerate once with no contention"
behavior of our profiling.
Performs better than ConcurrentBag, which is important since profiling code shouldn't impact timings.
This method is thread-safe.
Adds an element to the bag.
Order is not preserved.
The element can only be a member of *one* bag.
This method returns an enumerable view of the bag, and returns it to
an internal pool for reuse by GetOrCreate().
It is not thread safe.
It should only be called once the bag is finished being mutated.
This returns the ConcurrentProfileStorageCollection to an internal pool for reuse by GetOrCreate().
Returns a ConcurrentProfileStorageCollection to use.
It *may* have allocated a new one, or it may return one that has previously been released.
To return the collection, call EnumerateAndReturnForReuse()
Describes a pre-condition used in a redis transaction
Enforces that the given hash-field must have the specified value
Enforces that the given hash-field must exist
Enforces that the given hash-field must not have the specified value
Enforces that the given hash-field must not exist
Enforces that the given key must exist
Enforces that the given key must not exist
Enforces that the given list index must have the specified value
Enforces that the given list index must exist
Enforces that the given list index must not have the specified value
Enforces that the given list index must not exist
Enforces that the given key must have the specified value
Enforces that the given key must not have the specified value
Enforces that the given hash length is a certain value
Enforces that the given hash length is less than a certain value
Enforces that the given hash length is greater than a certain value
Enforces that the given string length is a certain value
Enforces that the given string length is less than a certain value
Enforces that the given string length is greater than a certain value
Enforces that the given list length is a certain value
Enforces that the given list length is less than a certain value
Enforces that the given list length is greater than a certain value
Enforces that the given set cardinality is a certain value
Enforces that the given set cardinality is less than a certain value
Enforces that the given set cardinality is greater than a certain value
Enforces that the given sorted set cardinality is a certain value
Enforces that the given sorted set cardinality is less than a certain value
Enforces that the given sorted set cardinality is greater than a certain value
Indicates the status of a condition as part of a transaction
Indicates whether the condition was satisfied
Specifies the proxy that is being used to communicate to redis
Direct communication to the redis server(s)
Communication via twemproxy
The options relevant to a set of redis connections
A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note
that this cannot be specified in the configuration-string.
A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note
that this cannot be specified in the configuration-string.
Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException
Indicates whether admin operations should be allowed
Indicates whether the connection should be encrypted
Indicates whether the connection should be encrypted
Automatically encodes and decodes channels
The client name to use for all connections
The number of times to repeat the initial connect cycle if no servers respond promptly
The command-map associated with this configuration
Channel to use for broadcasting and listening for configuration change notification
Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher)
The server version to assume
The endpoints defined for this configuration
Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). If false, ThreadPriority.Normal will be used.
Specifies the time in seconds at which connections should be pinged to ensure validity
The password to use to authenticate with the server
Indicates whether admin operations should be allowed
Indicates whether endpoints should be resolved via DNS before connecting.
If enabled the ConnectionMultiplexer will not re-resolve DNS
when attempting to re-connect after a connection failure.
The service name used to resolve a service via sentinel
Gets or sets the SocketManager instance to be used with these options; if this is null a per-multiplexer
SocketManager is created automatically.
The target-host to use when validating SSL certificate; setting a value here enables SSL mode
Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 1 second)
Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy
(defaults to SyncTimeout)
Tie-breaker used to choose between masters (must match the endpoint exactly)
The size of the output buffer to use
Specifies the default database to be used when calling ConnectionMultiplexer.GetDatabase() without any parameters
Check configuration every n seconds (every minute by default)
Parse the configuration from a comma-delimited configuration string
is null.
is empty.
Parse the configuration from a comma-delimited configuration string
is null.
is empty.
Create a copy of the configuration
Resolve the default port for any endpoints that did not have a port explicitly specified
Returns the effective configuration string for this configuration
Illustrates the counters associated with an individual connection
The number of operations that have been completed asynchronously
The number of operations that have been completed synchronously
The type of this connection
The number of operations that failed to complete asynchronously
Indicates if there are any pending items or failures on this connection
Indicates the total number of messages despatched to a non-preferred endpoint, for example sent to a master
when the caller stated a preference of slave
The number of operations performed on this connection
Operations that have been requested, but which have not yet been sent to the server
Operations for which the response has been processed, but which are awaiting asynchronous completion
Operations that have been sent to the server, but which are awaiting a response
The number of sockets used by this logical connection (total, including reconnects)
The number of subscriptions (with and without patterns) currently held against this connection
Indicates the total number of outstanding items against this connection
Indicates the total number of writers items against this connection
See Object.ToString()
Contains information about a server connection failure
Gets the connection-type of the failing connection
Gets the failing server-endpoint
Gets the exception if available (this can be null)
The type of failure
The known types of connection failure
This event is not a failure
No viable connections were available for this operation
The socket for this connection failed
Either SSL Stream or Redis authentication failed
An unexpected response was received from the server
An unknown internal error occurred
The socket was closed
The socket was closed
The database is loading and is not available for use
It has not been possible to create an intial connection to the redis server(s)
Represents an inter-related group of connections to redis servers
Provides a way of overriding the default Task Factory. If not set, it will use the default Task.Factory.
Useful when top level code sets it's own factory which may interfere with Redis queries.
Get summary statistics associates with this server
Gets the client-name that will be used on all new connections
Tries to get the Roleinstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded.
In case of any failure, swallows the exception and returns null
Gets the configuration of the connection
A server replied with an error message;
Write the configuration of all servers to an output stream
Used internally to synchronize loggine without depending on locking the log instance
Raised whenever a physical connection fails
Raised whenever an internal error occurs (this is primarily for debugging)
Raised whenever a physical connection is established
Raised when configuration changes are detected
Raised when nodes are explicitly requested to reconfigure via broadcast;
this usually means master/slave changes
Gets the timeout associated with the connections
Gets all endpoints defined on the server
Wait for a given asynchronous operation to complete (or timeout)
Wait for a given asynchronous operation to complete (or timeout)
Wait for the given asynchronous operations to complete (or timeout)
Raised when a hash-slot has been relocated
Compute the hash-slot of a specified key
Create a new ConnectionMultiplexer instance
Create a new ConnectionMultiplexer instance
Create a new ConnectionMultiplexer instance
Create a new ConnectionMultiplexer instance
Obtain a pub/sub subscriber connection to the specified server
Obtain an interactive connection to a database inside redis
Obtain a configuration API for an individual server
Obtain a configuration API for an individual server
Obtain a configuration API for an individual server
Obtain a configuration API for an individual server
The number of operations that have been performed on all connections
Reconfigure the current connections based on the existing configuration
Reconfigure the current connections based on the existing configuration
Provides a text overview of the status of all connections
Provides a text overview of the status of all connections
See Object.ToString()
Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order
Indicates whether any servers are connected
Close all connections and release all resources associated with this object
Close all connections and release all resources associated with this object
Release all resources associated with this object
Should exceptions include identifiable details? (key names, additional .Data annotations)
Limit at which to start recording unusual busy patterns (only one log will be retained at a time;
set to a negative value to disable this feature)
Obtains the log of unusual busy patterns
Resets the log of unusual busy patterns
Request all compatible clients to reconfigure or reconnect
The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending)
Request all compatible clients to reconfigure or reconnect
The number of instances known to have received the message (however, the actual number can be higher)
Sets an IProfiler instance for this ConnectionMultiplexer.
An IProfiler instances is used to determine which context to associate an
IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object)
for more details.
Begins profiling for the given context.
If the same context object is returned by the registered IProfiler, the IProfiledCommands
will be associated with each other.
Call FinishProfiling with the same context to get the assocated commands.
Note that forContext cannot be a WeakReference or a WeakReference<T>
Stops profiling for the given context, returns all IProfiledCommands associated.
By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false".
The type of a connection
Not connection-type related
An interactive connection handles request/response commands for accessing data on demand
A subscriber connection recieves unsolicted messages from the server as pub/sub events occur
Completion type for CompletionTypeHelper
Retain original completion type (either sync or async)
Force sync completion
Force async completion
A list of endpoints
Create a new EndPointCollection
Create a new EndPointCollection
Format an endpoint
Attempt to parse a string into an EndPoint
Adds a new endpoint to the list
Adds a new endpoint to the list
Adds a new endpoint to the list
See Collection<T>.InsertItem()
See Collection<T>.SetItem()
Event information related to redis endpoints
The endpoint involved in this event (this can be null)
When performing a range query, by default the start / stop limits are inclusive;
however, both can also be specified separately as exclusive
Both start and stop are inclusive
Start is exclusive, stop is inclusive
Start is inclusive, stop is exclusive
Both start and stop are exclusive
Which settings to export
No options
The output of INFO
The output of CONFIG GET *
The output of CLIENT LIST
The output of CLUSTER NODES
Everything available
Utility methods
Create a dictionary from an array of HashEntry values
Create a dictionary from an array of HashEntry values
Create a dictionary from an array of SortedSetEntry values
Create a dictionary from an array of SortedSetEntry values
Create a dictionary from an array of key/value pairs
Create a dictionary from an array of key/value pairs
Create a dictionary from an array of string pairs
Create an array of strings from an array of values
Describes a hash-field (a name/value pair)
Initializes a HashEntry value
The name of the hash field
The value of the hash field
The name of the hash field
Converts to a key/value pair
Converts from a key/value pair
See Object.ToString()
See Object.GetHashCode()
Compares two values for equality
Compares two values for equality
Compares two values for equality
Compares two values for non-equality
Contains information about individual hash-slot relocations
The hash-slot that was relocated
The old endpoint for this hash-slot (if known)
The new endpoint for this hash-slot (if known)
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.
Execute the batch operation, sending all queued commands to the server.
Note that this operation is neither synchronous nor truly asyncronous - it
simply enqueues the buffered messages. To check on completion, you should
check the individual responses.
Represents the abstract multiplexer API
Gets the client-name that will be used on all new connections
Gets the configuration of the connection
Gets the timeout associated with the connections
The number of operations that have been performed on all connections
Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order
Indicates whether any servers are connected
Should exceptions include identifiable details? (key names, additional .Data annotations)
Limit at which to start recording unusual busy patterns (only one log will be retained at a time;
set to a negative value to disable this feature)
Sets an IProfiler instance for this ConnectionMultiplexer.
An IProfiler instances is used to determine which context to associate an
IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object)
for more details.
Begins profiling for the given context.
If the same context object is returned by the registered IProfiler, the IProfiledCommands
will be associated with each other.
Call FinishProfiling with the same context to get the assocated commands.
Note that forContext cannot be a WeakReference or a WeakReference<T>
Stops profiling for the given context, returns all IProfiledCommands associated.
By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false".
Get summary statistics associates with this server
A server replied with an error message;
Raised whenever a physical connection fails
Raised whenever an internal error occurs (this is primarily for debugging)
Raised whenever a physical connection is established
Raised when configuration changes are detected
Raised when nodes are explicitly requested to reconfigure via broadcast;
this usually means master/slave changes
Gets all endpoints defined on the server
Wait for a given asynchronous operation to complete (or timeout)
Wait for a given asynchronous operation to complete (or timeout)
Wait for the given asynchronous operations to complete (or timeout)
Raised when a hash-slot has been relocated
Compute the hash-slot of a specified key
Obtain a pub/sub subscriber connection to the specified server
Obtain an interactive connection to a database inside redis
Obtain a configuration API for an individual server
Obtain a configuration API for an individual server
Obtain a configuration API for an individual server
Obtain a configuration API for an individual server
Reconfigure the current connections based on the existing configuration
Reconfigure the current connections based on the existing configuration
Provides a text overview of the status of all connections
Provides a text overview of the status of all connections
See Object.ToString()
Close all connections and release all resources associated with this object
Close all connections and release all resources associated with this object
Release all resources associated with this object
Obtains the log of unusual busy patterns
Resets the log of unusual busy patterns
Request all compatible clients to reconfigure or reconnect
The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending)
Request all compatible clients to reconfigure or reconnect
The number of instances known to have received the message (however, the actual number can be higher)
Describes functionality that is common to both standalone redis servers and redis clusters
The numeric identifier of this database
Allows creation of a group of operations that will be sent to the server as a single unit,
but which may or may not be processed on the server contiguously.
Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance.
http://redis.io/commands/MIGRATE
Allows creation of a group of operations that will be sent to the server as a single unit,
and processed on the server as a single unit.
Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway.
http://redis.io/commands/debug-object
Decrements the number stored at field in the hash stored at key by decrement. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed.
The range of values supported by HINCRBY is limited to 64 bit signed integers.
the value at field after the decrement operation.
http://redis.io/commands/hincrby
Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation.
The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value at field after the decrement operation.
http://redis.io/commands/hincrbyfloat
Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0.
http://redis.io/commands/hdel
The number of fields that were removed.
Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0.
http://redis.io/commands/hdel
The number of fields that were removed.
Returns if field is an existing field in the hash stored at key.
1 if the hash contains field. 0 if the hash does not contain field, or key does not exist.
http://redis.io/commands/hexists
Returns the value associated with field in the hash stored at key.
the value associated with field, or nil when field is not present in the hash or key does not exist.
http://redis.io/commands/hget
Returns the values associated with the specified fields in the hash stored at key.
For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values.
list of values associated with the given fields, in the same order as they are requested.
http://redis.io/commands/hmget
Returns all fields and values of the hash stored at key.
list of fields and their values stored in the hash, or an empty list when key does not exist.
http://redis.io/commands/hgetall
Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed.
The range of values supported by HINCRBY is limited to 64 bit signed integers.
the value at field after the increment operation.
http://redis.io/commands/hincrby
Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation.
The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value at field after the increment operation.
http://redis.io/commands/hincrbyfloat
Returns all field names in the hash stored at key.
list of fields in the hash, or an empty list when key does not exist.
http://redis.io/commands/hkeys
Returns the number of fields contained in the hash stored at key.
number of fields in the hash, or 0 when key does not exist.
http://redis.io/commands/hlen
The HSCAN command is used to incrementally iterate over a hash
yields all elements of the hash.
http://redis.io/commands/hscan
The HSCAN command is used to incrementally iterate over a hash; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor.
yields all elements of the hash.
http://redis.io/commands/hscan
Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created.
http://redis.io/commands/hmset
Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten.
1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated.
http://redis.io/commands/hset
http://redis.io/commands/hsetnx
Returns all values in the hash stored at key.
list of values in the hash, or an empty list when key does not exist.
http://redis.io/commands/hvals
Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument.
true if at least 1 HyperLogLog internal register was altered. false otherwise.
http://redis.io/commands/pfadd
Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument.
true if at least 1 HyperLogLog internal register was altered. false otherwise.
http://redis.io/commands/pfadd
Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist.
The approximated number of unique elements observed via HyperLogLogAdd.
http://redis.io/commands/pfcount
Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist.
The approximated number of unique elements observed via HyperLogLogAdd.
http://redis.io/commands/pfcount
Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures.
http://redis.io/commands/pfmerge
Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures.
http://redis.io/commands/pfmerge
Inidicate exactly which redis server we are talking to
Removes the specified key. A key is ignored if it does not exist.
True if the key was removed.
http://redis.io/commands/del
Removes the specified keys. A key is ignored if it does not exist.
The number of keys that were removed.
http://redis.io/commands/del
Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command.
the serialized value.
http://redis.io/commands/dump
Returns if key exists.
1 if the key exists. 0 if the key does not exist.
http://redis.io/commands/exists
Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology.
If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key.
For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information.
1 if the timeout was set. 0 if key does not exist or the timeout could not be set.
http://redis.io/commands/expire
http://redis.io/commands/pexpire
http://redis.io/commands/persist
Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology.
If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key.
For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information.
1 if the timeout was set. 0 if key does not exist or the timeout could not be set.
http://redis.io/commands/expireat
http://redis.io/commands/pexpireat
http://redis.io/commands/persist
Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this.
1 if key was moved; 0 if key was not moved.
http://redis.io/commands/move
Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated).
1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout.
http://redis.io/commands/persist
Return a random key from the currently selected database.
the random key, or nil when the database is empty.
http://redis.io/commands/randomkey
Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist.
http://redis.io/commands/rename
http://redis.io/commands/renamenx
Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP).
If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set.
http://redis.io/commands/restore
Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset.
TTL, or nil when key does not exist or does not have a timeout.
http://redis.io/commands/ttl
Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash.
type of key, or none when key does not exist.
http://redis.io/commands/type
Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth.
the requested element, or nil when index is out of range.
http://redis.io/commands/lindex
Inserts value in the list stored at key either before or after the reference value pivot.
When key does not exist, it is considered an empty list and no operation is performed.
the length of the list after the insert operation, or -1 when the value pivot was not found.
http://redis.io/commands/linsert
Inserts value in the list stored at key either before or after the reference value pivot.
When key does not exist, it is considered an empty list and no operation is performed.
the length of the list after the insert operation, or -1 when the value pivot was not found.
http://redis.io/commands/linsert
Removes and returns the first element of the list stored at key.
the value of the first element, or nil when key does not exist.
http://redis.io/commands/lpop
Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations.
the length of the list after the push operations.
http://redis.io/commands/lpush
http://redis.io/commands/lpushx
Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations.
Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element.
the length of the list after the push operations.
http://redis.io/commands/lpush
Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned.
the length of the list at key.
http://redis.io/commands/llen
Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on.
These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on.
Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included.
list of elements in the specified range.
http://redis.io/commands/lrange
Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways:
count > 0: Remove elements equal to value moving from head to tail.
count < 0: Remove elements equal to value moving from tail to head.
count = 0: Remove all elements equal to value.
the number of removed elements.
http://redis.io/commands/lrem
Removes and returns the last element of the list stored at key.
http://redis.io/commands/rpop
Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination.
the element being popped and pushed.
http://redis.io/commands/rpoplpush
Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation.
the length of the list after the push operation.
http://redis.io/commands/rpush
http://redis.io/commands/rpushx
Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation.
Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element.
the length of the list after the push operation.
http://redis.io/commands/rpush
Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes.
http://redis.io/commands/lset
Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on.
For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain.
start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on.
http://redis.io/commands/ltrim
Extends a lock, if the token value is correct
Queries the token held against a lock
Releases a lock, if the token value is correct
Takes a lock (specifying a token value) if it is not already taken
Posts a message to the given channel.
the number of clients that received the message.
http://redis.io/commands/publish
Execute a Lua script against the server
http://redis.io/commands/eval, http://redis.io/commands/evalsha
A dynamic representation of the script's result
Execute a Lua script against the server using just the SHA1 hash
http://redis.io/commands/evalsha
A dynamic representation of the script's result
Execute a lua script against the server, using previously prepared script.
Named parameters, if any, are provided by the `parameters` object.
Execute a lua script against the server, using previously prepared and loaded script.
This method sends only the SHA1 hash of the lua script to Redis.
Named parameters, if any, are provided by the `parameters` object.
Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members.
True if the specified member was not already present in the set, else False
http://redis.io/commands/sadd
Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members.
the number of elements that were added to the set, not including all the elements already present into the set.
http://redis.io/commands/sadd
Returns the members of the set resulting from the specified operation against the given sets.
list with members of the resulting set.
http://redis.io/commands/sunion
http://redis.io/commands/sinter
http://redis.io/commands/sdiff
Returns the members of the set resulting from the specified operation against the given sets.
list with members of the resulting set.
http://redis.io/commands/sunion
http://redis.io/commands/sinter
http://redis.io/commands/sdiff
This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten.
the number of elements in the resulting set.
http://redis.io/commands/sunionstore
http://redis.io/commands/sinterstore
http://redis.io/commands/sdiffstore
This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten.
the number of elements in the resulting set.
http://redis.io/commands/sunionstore
http://redis.io/commands/sinterstore
http://redis.io/commands/sdiffstore
Returns if member is a member of the set stored at key.
1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist.
http://redis.io/commands/sismember
Returns the set cardinality (number of elements) of the set stored at key.
the cardinality (number of elements) of the set, or 0 if key does not exist.
http://redis.io/commands/scard
Returns all the members of the set value stored at key.
all elements of the set.
http://redis.io/commands/smembers
Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients.
When the specified element already exists in the destination set, it is only removed from the source set.
1 if the element is moved. 0 if the element is not a member of source and no operation was performed.
http://redis.io/commands/smove
Removes and returns a random element from the set value stored at key.
the removed element, or nil when key does not exist.
http://redis.io/commands/spop
Return a random element from the set value stored at key.
the randomly selected element, or nil when key does not exist
http://redis.io/commands/srandmember
Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times.
In this case the numer of returned elements is the absolute value of the specified count.
an array of elements, or an empty array when key does not exist
http://redis.io/commands/srandmember
Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored.
True if the specified member was already present in the set, else False
http://redis.io/commands/srem
Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored.
the number of members that were removed from the set, not including non existing members.
http://redis.io/commands/srem
The SSCAN command is used to incrementally iterate over set
yields all elements of the set.
http://redis.io/commands/sscan
The SSCAN command is used to incrementally iterate over set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor.
yields all elements of the set.
http://redis.io/commands/sscan
Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be
used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can
be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get).
Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get
can be used to specify fields using -> notation (again, refer to redis documentation).
http://redis.io/commands/sort
Returns the sorted elements, or the external values if get is specified
Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be
used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can
be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get).
Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get
can be used to specify fields using -> notation (again, refer to redis documentation).
http://redis.io/commands/sort
Returns the number of elements stored in the new list
Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering.
True if the value was added, False if it already existed (the score is still updated)
http://redis.io/commands/zadd
Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering.
The number of elements added to the sorted sets, not including elements already existing for which the score was updated.
http://redis.io/commands/zadd
Computes a set operation over two sorted sets, and stores the result in destination, optionally performing
a specific aggregation (defaults to sum)
http://redis.io/commands/zunionstore
http://redis.io/commands/zinterstore
the number of elements in the resulting sorted set at destination
Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing
a specific aggregation (defaults to sum)
http://redis.io/commands/zunionstore
http://redis.io/commands/zinterstore
the number of elements in the resulting sorted set at destination
Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0).
the new score of member
http://redis.io/commands/zincrby
Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0).
the new score of member
http://redis.io/commands/zincrby
Returns the sorted set cardinality (number of elements) of the sorted set stored at key.
the cardinality (number of elements) of the sorted set, or 0 if key does not exist.
http://redis.io/commands/zcard
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max.
the number of elements in the specified score range.
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max.
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on.
list of elements in the specified range
http://redis.io/commands/zrange
http://redis.io/commands/zrevrange
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on.
list of elements in the specified range
http://redis.io/commands/zrange
http://redis.io/commands/zrevrange
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive.
list of elements in the specified score range
http://redis.io/commands/zrangebyscore
http://redis.io/commands/zrevrangebyscore
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive.
list of elements in the specified score range
http://redis.io/commands/zrangebyscore
http://redis.io/commands/zrevrangebyscore
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max.
http://redis.io/commands/zrangebylex
list of elements in the specified score range.
Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0.
If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null
http://redis.io/commands/zrank
http://redis.io/commands/zrevrank
Removes the specified member from the sorted set stored at key. Non existing members are ignored.
True if the member existed in the sorted set and was removed; False otherwise.
http://redis.io/commands/zrem
Removes the specified members from the sorted set stored at key. Non existing members are ignored.
The number of members removed from the sorted set, not including non existing members.
http://redis.io/commands/zrem
Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth.
the number of elements removed.
http://redis.io/commands/zremrangebyrank
Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default).
the number of elements removed.
http://redis.io/commands/zremrangebyscore
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max.
http://redis.io/commands/zremrangebylex
the number of elements removed.
The ZSCAN command is used to incrementally iterate over a sorted set
yields all elements of the sorted set.
http://redis.io/commands/zscan
The ZSCAN command is used to incrementally iterate over a sorted set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor.
yields all elements of the sorted set.
http://redis.io/commands/zscan
Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned.
the score of member
http://redis.io/commands/zscore
If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string,
so APPEND will be similar to SET in this special case.
the length of the string after the append operation.
http://redis.io/commands/append
Count the number of set bits (population counting) in a string.
By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end.
Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth.
The number of bits set to 1
http://redis.io/commands/bitcount
Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key.
The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case
and only the first key will be considered.
The result of the operation is always stored at destkey.
The size of the string stored in the destination key, that is equal to the size of the longest input string.
http://redis.io/commands/bitop
Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key.
The BITOP command supports four bitwise operations; note that NOT is a unary operator.
The result of the operation is always stored at destkey.
The size of the string stored in the destination key, that is equal to the size of the longest input string.
http://redis.io/commands/bitop
Return the position of the first bit set to 1 or 0 in a string.
The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth.
An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth.
The command returns the position of the first bit set to 1 or 0 according to the request.
If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned.
http://redis.io/commands/bitpos
Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation.
An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers.
the value of key after the decrement
http://redis.io/commands/decrby
http://redis.io/commands/decr
Decrements the string representing a floating point number stored at key by the specified decrement. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value of key after the decrement
http://redis.io/commands/incrbyfloat
Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values.
the value of key, or nil when key does not exist.
http://redis.io/commands/get
Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned.
http://redis.io/commands/mget
Returns the bit value at offset in the string value stored at key.
When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits.
the bit value stored at offset.
http://redis.io/commands/getbit
Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth.
the substring of the string value stored at key
http://redis.io/commands/getrange
Atomically sets key to value and returns the old value stored at key.
http://redis.io/commands/getset
the old value stored at key, or nil when key did not exist.
Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values.
the value of key, or nil when key does not exist.
http://redis.io/commands/get
Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers.
the value of key after the increment
http://redis.io/commands/incrby
http://redis.io/commands/incr
Increments the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value of key after the increment
http://redis.io/commands/incrbyfloat
Returns the length of the string value stored at key.
the length of the string at key, or 0 when key does not exist.
http://redis.io/commands/strlen
Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type.
http://redis.io/commands/set
Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists.
True if the keys were set, else False
http://redis.io/commands/mset
http://redis.io/commands/msetnx
Sets or clears the bit at offset in the string value stored at key.
The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset.
the original bit value stored at offset.
http://redis.io/commands/setbit
Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset.
the length of the string after it was modified by the command.
http://redis.io/commands/setrange
Describes functionality that is common to both standalone redis servers and redis clusters
Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway.
http://redis.io/commands/debug-object
Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed.
The range of values supported by HINCRBY is limited to 64 bit signed integers.
the value at field after the increment operation.
http://redis.io/commands/hincrby
Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation.
The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value at field after the decrement operation.
http://redis.io/commands/hincrbyfloat
Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0.
http://redis.io/commands/hdel
The number of fields that were removed.
Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0.
http://redis.io/commands/hdel
The number of fields that were removed.
Returns if field is an existing field in the hash stored at key.
1 if the hash contains field. 0 if the hash does not contain field, or key does not exist.
http://redis.io/commands/hexists
Returns all fields and values of the hash stored at key.
list of fields and their values stored in the hash, or an empty list when key does not exist.
http://redis.io/commands/hgetall
Returns the value associated with field in the hash stored at key.
the value associated with field, or nil when field is not present in the hash or key does not exist.
http://redis.io/commands/hget
Returns the values associated with the specified fields in the hash stored at key.
For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values.
list of values associated with the given fields, in the same order as they are requested.
http://redis.io/commands/hmget
Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed.
The range of values supported by HINCRBY is limited to 64 bit signed integers.
the value at field after the increment operation.
http://redis.io/commands/hincrby
Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation.
The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value at field after the increment operation.
http://redis.io/commands/hincrbyfloat
Returns all field names in the hash stored at key.
list of fields in the hash, or an empty list when key does not exist.
http://redis.io/commands/hkeys
Returns the number of fields contained in the hash stored at key.
number of fields in the hash, or 0 when key does not exist.
http://redis.io/commands/hlen
Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created.
http://redis.io/commands/hmset
Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten.
1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated.
http://redis.io/commands/hset
http://redis.io/commands/hsetnx
Returns all values in the hash stored at key.
list of values in the hash, or an empty list when key does not exist.
http://redis.io/commands/hvals
Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument.
true if at least 1 HyperLogLog internal register was altered. false otherwise.
http://redis.io/commands/pfadd
Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument.
true if at least 1 HyperLogLog internal register was altered. false otherwise.
http://redis.io/commands/pfadd
Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist.
The approximated number of unique elements observed via HyperLogLogAdd.
http://redis.io/commands/pfcount
Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist.
The approximated number of unique elements observed via HyperLogLogAdd.
http://redis.io/commands/pfcount
Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures.
http://redis.io/commands/pfmerge
Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures.
http://redis.io/commands/pfmerge
Inidicate exactly which redis server we are talking to
Indicates whether the instance can communicate with the server (resolved
using the supplied key and optional flags)
Removes the specified key. A key is ignored if it does not exist.
True if the key was removed.
http://redis.io/commands/del
Removes the specified keys. A key is ignored if it does not exist.
The number of keys that were removed.
http://redis.io/commands/del
Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command.
the serialized value.
http://redis.io/commands/dump
Returns if key exists.
1 if the key exists. 0 if the key does not exist.
http://redis.io/commands/exists
Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology.
If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key.
For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information.
1 if the timeout was set. 0 if key does not exist or the timeout could not be set.
http://redis.io/commands/expire
http://redis.io/commands/pexpire
http://redis.io/commands/persist
Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology.
If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key.
For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information.
1 if the timeout was set. 0 if key does not exist or the timeout could not be set.
http://redis.io/commands/expireat
http://redis.io/commands/pexpireat
http://redis.io/commands/persist
Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance.
http://redis.io/commands/MIGRATE
Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this.
1 if key was moved; 0 if key was not moved.
http://redis.io/commands/move
Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated).
1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout.
http://redis.io/commands/persist
Return a random key from the currently selected database.
the random key, or nil when the database is empty.
http://redis.io/commands/randomkey
Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist.
http://redis.io/commands/rename
http://redis.io/commands/renamenx
Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP).
If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set.
http://redis.io/commands/restore
Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset.
TTL, or nil when key does not exist or does not have a timeout.
http://redis.io/commands/ttl
Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash.
type of key, or none when key does not exist.
http://redis.io/commands/type
Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth.
the requested element, or nil when index is out of range.
http://redis.io/commands/lindex
Inserts value in the list stored at key either before or after the reference value pivot.
When key does not exist, it is considered an empty list and no operation is performed.
the length of the list after the insert operation, or -1 when the value pivot was not found.
http://redis.io/commands/linsert
Inserts value in the list stored at key either before or after the reference value pivot.
When key does not exist, it is considered an empty list and no operation is performed.
the length of the list after the insert operation, or -1 when the value pivot was not found.
http://redis.io/commands/linsert
Removes and returns the first element of the list stored at key.
the value of the first element, or nil when key does not exist.
http://redis.io/commands/lpop
Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations.
the length of the list after the push operations.
http://redis.io/commands/lpush
http://redis.io/commands/lpushx
Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations.
Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element.
the length of the list after the push operations.
http://redis.io/commands/lpush
Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned.
the length of the list at key.
http://redis.io/commands/llen
Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on.
These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on.
Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included.
list of elements in the specified range.
http://redis.io/commands/lrange
Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways:
count > 0: Remove elements equal to value moving from head to tail.
count < 0: Remove elements equal to value moving from tail to head.
count = 0: Remove all elements equal to value.
the number of removed elements.
http://redis.io/commands/lrem
Removes and returns the last element of the list stored at key.
http://redis.io/commands/rpop
Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination.
the element being popped and pushed.
http://redis.io/commands/rpoplpush
Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation.
the length of the list after the push operation.
http://redis.io/commands/rpush
http://redis.io/commands/rpushx
Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation.
Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element.
the length of the list after the push operation.
http://redis.io/commands/rpush
Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes.
http://redis.io/commands/lset
Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on.
For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain.
start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on.
http://redis.io/commands/ltrim
Extends a lock, if the token value is correct
Queries the token held against a lock
Releases a lock, if the token value is correct
Takes a lock (specifying a token value) if it is not already taken
Posts a message to the given channel.
the number of clients that received the message.
http://redis.io/commands/publish
Execute a Lua script against the server
http://redis.io/commands/eval, http://redis.io/commands/evalsha
A dynamic representation of the script's result
Execute a Lua script against the server using just the SHA1 hash
http://redis.io/commands/evalsha
A dynamic representation of the script's result
Execute a lua script against the server, using previously prepared script.
Named parameters, if any, are provided by the `parameters` object.
Execute a lua script against the server, using previously prepared and loaded script.
This method sends only the SHA1 hash of the lua script to Redis.
Named parameters, if any, are provided by the `parameters` object.
Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members.
True if the specified member was not already present in the set, else False
http://redis.io/commands/sadd
Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members.
the number of elements that were added to the set, not including all the elements already present into the set.
http://redis.io/commands/sadd
This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten.
the number of elements in the resulting set.
http://redis.io/commands/sunionstore
http://redis.io/commands/sinterstore
http://redis.io/commands/sdiffstore
This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten.
the number of elements in the resulting set.
http://redis.io/commands/sunionstore
http://redis.io/commands/sinterstore
http://redis.io/commands/sdiffstore
Returns the members of the set resulting from the specified operation against the given sets.
list with members of the resulting set.
http://redis.io/commands/sunion
http://redis.io/commands/sinter
http://redis.io/commands/sdiff
Returns the members of the set resulting from the specified operation against the given sets.
list with members of the resulting set.
http://redis.io/commands/sunion
http://redis.io/commands/sinter
http://redis.io/commands/sdiff
Returns if member is a member of the set stored at key.
1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist.
http://redis.io/commands/sismember
Returns the set cardinality (number of elements) of the set stored at key.
the cardinality (number of elements) of the set, or 0 if key does not exist.
http://redis.io/commands/scard
Returns all the members of the set value stored at key.
all elements of the set.
http://redis.io/commands/smembers
Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients.
When the specified element already exists in the destination set, it is only removed from the source set.
1 if the element is moved. 0 if the element is not a member of source and no operation was performed.
http://redis.io/commands/smove
Removes and returns a random element from the set value stored at key.
the removed element, or nil when key does not exist.
http://redis.io/commands/spop
Return a random element from the set value stored at key.
the randomly selected element, or nil when key does not exist
http://redis.io/commands/srandmember
Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times.
In this case the numer of returned elements is the absolute value of the specified count.
an array of elements, or an empty array when key does not exist
http://redis.io/commands/srandmember
Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored.
True if the specified member was already present in the set, else False
http://redis.io/commands/srem
Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored.
the number of members that were removed from the set, not including non existing members.
http://redis.io/commands/srem
Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be
used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can
be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get).
Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get
can be used to specify fields using -> notation (again, refer to redis documentation).
http://redis.io/commands/sort
Returns the number of elements stored in the new list
Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be
used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can
be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get).
Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get
can be used to specify fields using -> notation (again, refer to redis documentation).
http://redis.io/commands/sort
Returns the sorted elements, or the external values if get is specified
Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering.
True if the value was added, False if it already existed (the score is still updated)
http://redis.io/commands/zadd
Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering.
The number of elements added to the sorted sets, not including elements already existing for which the score was updated.
http://redis.io/commands/zadd
Computes a set operation over two sorted sets, and stores the result in destination, optionally performing
a specific aggregation (defaults to sum)
http://redis.io/commands/zunionstore
http://redis.io/commands/zinterstore
the number of elements in the resulting sorted set at destination
Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing
a specific aggregation (defaults to sum)
http://redis.io/commands/zunionstore
http://redis.io/commands/zinterstore
the number of elements in the resulting sorted set at destination
Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0).
the new score of member
http://redis.io/commands/zincrby
Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0).
the new score of member
http://redis.io/commands/zincrby
Returns the sorted set cardinality (number of elements) of the sorted set stored at key.
the cardinality (number of elements) of the sorted set, or 0 if key does not exist.
http://redis.io/commands/zcard
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max.
the number of elements in the specified score range.
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max.
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on.
list of elements in the specified range
http://redis.io/commands/zrange
http://redis.io/commands/zrevrange
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on.
list of elements in the specified range
http://redis.io/commands/zrange
http://redis.io/commands/zrevrange
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive.
list of elements in the specified score range
http://redis.io/commands/zrangebyscore
http://redis.io/commands/zrevrangebyscore
Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score.
Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive.
list of elements in the specified score range
http://redis.io/commands/zrangebyscore
http://redis.io/commands/zrevrangebyscore
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max.
http://redis.io/commands/zrangebylex
list of elements in the specified score range.
Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0.
If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null
http://redis.io/commands/zrank
http://redis.io/commands/zrevrank
Removes the specified member from the sorted set stored at key. Non existing members are ignored.
True if the member existed in the sorted set and was removed; False otherwise.
http://redis.io/commands/zrem
Removes the specified members from the sorted set stored at key. Non existing members are ignored.
The number of members removed from the sorted set, not including non existing members.
http://redis.io/commands/zrem
Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth.
the number of elements removed.
http://redis.io/commands/zremrangebyrank
Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default).
the number of elements removed.
http://redis.io/commands/zremrangebyscore
When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max.
http://redis.io/commands/zremrangebylex
the number of elements removed.
Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned.
the score of member
http://redis.io/commands/zscore
If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string,
so APPEND will be similar to SET in this special case.
the length of the string after the append operation.
http://redis.io/commands/append
Count the number of set bits (population counting) in a string.
By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end.
Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth.
The number of bits set to 1
http://redis.io/commands/bitcount
Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key.
The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case
and only the first key will be considered.
The result of the operation is always stored at destkey.
The size of the string stored in the destination key, that is equal to the size of the longest input string.
http://redis.io/commands/bitop
Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key.
The BITOP command supports four bitwise operations; note that NOT is a unary operator.
The result of the operation is always stored at destkey.
The size of the string stored in the destination key, that is equal to the size of the longest input string.
http://redis.io/commands/bitop
Return the position of the first bit set to 1 or 0 in a string.
The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant big is at position 8 and so forth.
An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth.
The command returns the position of the first bit set to 1 or 0 according to the request.
If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned.
http://redis.io/commands/bitpos
Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers.
the value of key after the increment
http://redis.io/commands/decrby
http://redis.io/commands/decr
Decrements the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value of key after the increment
http://redis.io/commands/incrbyfloat
Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values.
the value of key, or nil when key does not exist.
http://redis.io/commands/get
Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned.
http://redis.io/commands/mget
Returns the bit value at offset in the string value stored at key.
When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits.
the bit value stored at offset.
http://redis.io/commands/getbit
Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth.
the substring of the string value stored at key
http://redis.io/commands/getrange
Atomically sets key to value and returns the old value stored at key.
http://redis.io/commands/getset
the old value stored at key, or nil when key did not exist.
Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values.
the value of key, or nil when key does not exist.
http://redis.io/commands/get
Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers.
the value of key after the increment
http://redis.io/commands/incrby
http://redis.io/commands/incr
Increment the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
the value of key after the increment
http://redis.io/commands/incrbyfloat
Returns the length of the string value stored at key.
the length of the string at key, or 0 when key does not exist.
http://redis.io/commands/strlen
Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type.
http://redis.io/commands/set
Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists.
True if the keys were set, else False
http://redis.io/commands/mset
http://redis.io/commands/msetnx
Sets or clears the bit at offset in the string value stored at key.
The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset.
the original bit value stored at offset.
http://redis.io/commands/setbit
Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset.
the length of the string after it was modified by the command.
http://redis.io/commands/setrange
Describes a value/expiry pair
The expiry of this record
The value of this record
Describes internal errors (mainly intended for debugging)
Gets the connection-type of the failing connection
Gets the failing server-endpoint (this can be null)
Gets the exception if available (this can be null)
The underlying origin of the error
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.
No stated reason
Issued to investigate which node owns a key
A node has indicated that it does *not* own the given key
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.
The endpoint this command was sent to.
The Db this command was sent to.
The name of this command.
The CommandFlags the command was submitted with.
When this command was *created*, will be approximately
when the paired method of StackExchange.Redis was called but
before that method returned.
Note that the resolution of the returned DateTime is limited by DateTime.UtcNow.
How long this command waited to be added to the queue of pending
redis commands. A large TimeSpan indicates serious contention for
the pending queue.
How long this command spent in the pending queue before being sent to redis.
A large TimeSpan can indicate a large number of pending events, large pending events,
or network issues.
How long before Redis responded to this command and it's response could be handled after it was sent.
A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues.
How long between Redis responding to this command and awaiting consumers being notified.
How long it took this redis command to be processed, from creation to deserializing the final resposne.
Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code.
If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration),
the second sending of the command will have this property set to the original IProfiledCommand.
This can only be set if redis is configured as a cluster.
If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate
what sort of response triggered the retransmission.
This can be useful for determining the root cause of extra commands.
Interface for profiling individual commands against an Redis ConnectionMulitplexer.
Called to provide a context object.
This method is called before the method which triggers work against redis (such as StringSet(Async)) returns,
and will always be called on the same thread as that method.
Note that GetContext() may be called even if ConnectionMultiplexer.BeginProfiling() has not been called.
You may return `null` to prevent any tracking of commands.
Common operations available to all redis connections
This command is often used to test if a connection is still alive, or to measure latency.
The observed latency.
http://redis.io/commands/ping
Represents a resumable, cursor-based scanning operation
Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN)
The page size of the current operation
The offset into the current page
Common operations available to all redis connections
Gets the multiplexer that created this instance
This command is often used to test if a connection is still alive, or to measure latency.
The observed latency.
http://redis.io/commands/ping
Wait for a given asynchronous operation to complete (or timeout), reporting which
Wait for a given asynchronous operation to complete (or timeout)
Wait for a given asynchronous operation to complete (or timeout)
Wait for the given asynchronous operations to complete (or timeout)
Provides configuration controls of a redis server
Gets the cluster configuration associated with this server, if known
Gets the address of the connected server
Gets the features available to the connected server
Gets whether the connection to the server is active and usable
Gets whether the connected server is a replica / slave
Explicitly opt in for slave writes on writable slaves
Gets the operating mode of the connected server
Gets the version of the connected server
The CLIENT KILL command closes a given client connection identified by ip:port.
The ip:port should match a line returned by the CLIENT LIST command.
Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error).
http://redis.io/commands/client-kill
The CLIENT KILL command closes a given client connection identified by ip:port.
The ip:port should match a line returned by the CLIENT LIST command.
Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error).
http://redis.io/commands/client-kill
The CLIENT KILL command closes multiple connections that match the specified filters
the number of clients killed.
http://redis.io/commands/client-kill
The CLIENT KILL command closes multiple connections that match the specified filters
the number of clients killed.
http://redis.io/commands/client-kill
The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format.
http://redis.io/commands/client-list
The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format.
http://redis.io/commands/client-list
Obtains the current CLUSTER NODES output from a cluster server
Obtains the current CLUSTER NODES output from a cluster server
Obtains the current raw CLUSTER NODES output from a cluster server
Obtains the current raw CLUSTER NODES output from a cluster server
Get all configuration parameters matching the specified pattern.
All matching configuration parameters.
http://redis.io/commands/config-get
Get all configuration parameters matching the specified pattern.
All matching configuration parameters.
http://redis.io/commands/config-get
Resets the statistics reported by Redis using the INFO command.
http://redis.io/commands/config-resetstat
Resets the statistics reported by Redis using the INFO command.
http://redis.io/commands/config-resetstat
The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command.
http://redis.io/commands/config-rewrite
The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command.
http://redis.io/commands/config-rewrite
The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command.
http://redis.io/commands/config-set
The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command.
http://redis.io/commands/config-set
Return the number of keys in the database.
http://redis.io/commands/dbsize
Return the number of keys in the database.
http://redis.io/commands/dbsize
Return the same message passed in
http://redis.io/commands/echo
Return the same message passed in
http://redis.io/commands/echo
Delete all the keys of all databases on the server.
http://redis.io/commands/flushall
Delete all the keys of all databases on the server.
http://redis.io/commands/flushall
Delete all the keys of the database.
http://redis.io/commands/flushdb
Delete all the keys of the database.
http://redis.io/commands/flushdb
Get summary statistics associates with this server
The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
http://redis.io/commands/info
The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
http://redis.io/commands/info
The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
http://redis.io/commands/info
The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans.
http://redis.io/commands/info
Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities.
Warning: consider KEYS as a command that should only be used in production environments with extreme care.
http://redis.io/commands/keys
http://redis.io/commands/scan
Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor.
Warning: consider KEYS as a command that should only be used in production environments with extreme care.
http://redis.io/commands/keys
http://redis.io/commands/scan
Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed.
http://redis.io/commands/lastsave
Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed.
http://redis.io/commands/lastsave
Promote the selected node to be master
Explicitly request the database to persist the current state to disk
http://redis.io/commands/bgrewriteaof
http://redis.io/commands/bgsave
http://redis.io/commands/save
http://redis.io/topics/persistence
Explicitly request the database to persist the current state to disk
http://redis.io/commands/bgrewriteaof
http://redis.io/commands/bgsave
http://redis.io/commands/save
http://redis.io/topics/persistence
Inidicates whether the specified script is defined on the server
Inidicates whether the specified script hash is defined on the server
Inidicates whether the specified script is defined on the server
Inidicates whether the specified script hash is defined on the server
Removes all cached scripts on this server
Removes all cached scripts on this server
Explicitly defines a script on the server
Explicitly defines a script on the server
Explicitly defines a script on the server
Explicitly defines a script on the server
Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command.
http://redis.io/commands/shutdown
The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port.
http://redis.io/commands/slaveof
The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port.
http://redis.io/commands/slaveof
To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10).
http://redis.io/commands/slowlog
To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10).
http://redis.io/commands/slowlog
You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever.
http://redis.io/commands/slowlog
You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever.
http://redis.io/commands/slowlog
Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns).
a list of active channels, optionally matching the specified pattern.
http://redis.io/commands/pubsub
Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns).
a list of active channels, optionally matching the specified pattern.
http://redis.io/commands/pubsub
Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to.
the number of patterns all the clients are subscribed to.
http://redis.io/commands/pubsub
Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to.
the number of patterns all the clients are subscribed to.
http://redis.io/commands/pubsub
Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel.
http://redis.io/commands/pubsub
Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel.
http://redis.io/commands/pubsub
The TIME command returns the current server time.
The server's current time.
http://redis.io/commands/time
The TIME command returns the current server time.
The server's current time.
http://redis.io/commands/time
Returns the ip and port number of the master with that name.
If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave.
the sentinel service name
the master ip and port
http://redis.io/topics/sentinel
Returns the ip and port number of the master with that name.
If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave.
the sentinel service name
the master ip and port
http://redis.io/topics/sentinel
Show the state and info of the specified master.
the sentinel service name
the master state as KeyValuePairs
http://redis.io/topics/sentinel
Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
(however a new version of the configuration will be published so that the other Sentinels will update their configurations).
the sentinel service name
the master state as KeyValuePairs
http://redis.io/topics/sentinel
Show a list of monitored masters and their state.
an array of master state KeyValuePair arrays
http://redis.io/topics/sentinel
Show a list of monitored masters and their state.
an array of master state KeyValuePair arrays
http://redis.io/topics/sentinel
Show a list of slaves for this master, and their state.
the sentinel service name
an array of slave state KeyValuePair arrays
http://redis.io/topics/sentinel
Show a list of slaves for this master, and their state.
the sentinel service name
an array of slave state KeyValuePair arrays
http://redis.io/topics/sentinel
Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
(however a new version of the configuration will be published so that the other Sentinels will update their configurations).
the sentinel service name
http://redis.io/topics/sentinel
Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels
(however a new version of the configuration will be published so that the other Sentinels will update their configurations).
the sentinel service name
http://redis.io/topics/sentinel
A redis connection used as the subscriber in a pub/sub scenario
Inidicate exactly which redis server we are talking to
Inidicate exactly which redis server we are talking to
Indicates whether the instance can communicate with the server;
if a channel is specified, the existing subscription map is queried to
resolve the server responsible for that subscription - otherwise the
server is chosen aribtraily from the masters.
Posts a message to the given channel.
the number of clients that received the message.
http://redis.io/commands/publish
Posts a message to the given channel.
the number of clients that received the message.
http://redis.io/commands/publish
Subscribe to perform some operation when a change to the preferred/active node is broadcast.
http://redis.io/commands/subscribe
http://redis.io/commands/psubscribe
Subscribe to perform some operation when a change to the preferred/active node is broadcast.
http://redis.io/commands/subscribe
http://redis.io/commands/psubscribe
Inidicate to which redis server we are actively subscribed for a given channel; returns null if
the channel is not actively subscribed
Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless
of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the
last handler remaining against the channel
http://redis.io/commands/unsubscribe
http://redis.io/commands/punsubscribe
Unsubscribe all subscriptions on this instance
http://redis.io/commands/unsubscribe
http://redis.io/commands/punsubscribe
Unsubscribe all subscriptions on this instance
http://redis.io/commands/unsubscribe
http://redis.io/commands/punsubscribe
Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless
of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the
last handler remaining against the channel
http://redis.io/commands/unsubscribe
http://redis.io/commands/punsubscribe
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.
http://redis.io/topics/transactions
Note that on a cluster, it may be required that all keys involved in the transaction
(including constraints) are in the same hash-slot
Adds a precondition for this transaction
Execute the batch operation, sending all queued commands to the server.
Execute the batch operation, sending all queued commands to the server.
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.
The original Lua script that was used to create this.
The Lua script that will actually be sent to Redis for execution.
All @-prefixed parameter names have been replaced at this point.
Finalizer, used to prompt cleanups of the script cache when
a LuaScript reference goes out of scope.
Invalidates the internal cache of LuaScript objects.
Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare
return a new LuaScript instance.
Returns the number of cached LuaScripts.
Prepares a Lua script with named parameters to be run against any Redis instance.
Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any.
Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any.
Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of
passing the full script on each Evaluate or EvaluateAsync call.
Note: the FireAndForget command flag cannot be set
Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of
passing the full script on each Evaluate or EvaluateAsync call.
Note: the FireAndForget command flag cannot be set
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.
The original script that was used to create this LoadedLuaScript.
The script that will actually be sent to Redis for execution.
The SHA1 hash of ExecutableScript.
This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls.
Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any.
This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not
been loaded into the passed Redis instance it will fail.
Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any.
This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not
been loaded into the passed Redis instance it will fail.
Indicates that a command was illegal and was not sent to the server
Indicates a connection fault when communicating with redis
The type of connection failure
Indicates an issue communicating with redis
Deserialization constructor; not intended for general usage
Indicates an exception raised by a redis server
Things with the potential to cause harm, or to reveal configuration information
This does a few important things:
1: it suppresses error events for commands that the user isn't interested in
(i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?")
2: it allows the initial PING and GET (during connect) to get queued rather
than be rejected as no-server-available (note that this doesn't apply to
handshake messages, as they bypass the queue completely)
3: it disables non-pref logging, as it is usually server-targeted
Checks both high-pri and regular queues to see if the next item is a PING, and if so: dequeues it and returns it
Additional options for the MIGRATE command
No options specified
Do not remove the key from the local instance.
Replace existing key on the remote instance.
The direction in which to sequence elements
Ordered from low values to high values
Ordered from high values to low values
This writes a message **directly** to the output stream; note
that this ignores the queue, so should only be used *either*
from the regular dequeue loop, *or* from the "I've just
connected" handshake (when there is no dequeue loop) - otherwise,
you can pretty much assume you're going to destroy the stream
Big ol' wrapper around most of the profiling storage logic, 'cause it got too big to just live in ConnectionMultiplexer.
Necessary, because WeakReference can't be readily comparable (since the reference is... weak).
This lets us detect leaks* with some reasonable confidence, and cleanup periodically.
Some calisthenics are done to avoid allocating WeakReferences for no reason, as often
we're just looking up ProfileStorage.
* Somebody starts profiling, but for whatever reason never *stops* with a context object
Suitable for use as a key into something.
This instance **WILL NOT** keep forObj alive, so it can
be copied out of the calling method's scope.
Only suitable for looking up.
This instance **ABSOLUTELY WILL** keep forObj alive, so this
had better not be copied into anything outside the scope of the
calling method.
Registers the passed context with a collection that can be retried with subsequent calls to TryGetValue.
Returns false if the passed context object is already registered.
Returns true and sets val to the tracking collection associated with the given context if the context
was registered with TryCreate.
Otherwise returns false and sets val to null.
Removes a context, setting all commands to a (non-thread safe) enumerable of
all the commands attached to that context.
If the context was never registered, will return false and set commands to null.
Subsequent calls to TryRemove with the same context will return false unless it is
re-registered with TryCreate.
If enough time has passed (1 minute) since the last call, this does walk of all contexts
and removes those that the GC has collected.
Represents a pub/sub channel name
Create a new redis channel from a buffer, explicitly controlling the pattern mode
Create a new redis channel from a string, explicitly controlling the pattern mode
Indicates whether the channel-name is either null or a zero-length value
Indicate whether two channel names are not equal
Indicate whether two channel names are not equal
Indicate whether two channel names are not equal
Indicate whether two channel names are not equal
Indicate whether two channel names are not equal
Indicate whether two channel names are equal
Indicate whether two channel names are equal
Indicate whether two channel names are equal
Indicate whether two channel names are equal
Indicate whether two channel names are equal
See Object.Equals
Indicate whether two channel names are equal
See Object.GetHashCode
Obtains a string representation of the channel name
The matching pattern for this channel
Will be treated as a pattern if it includes *
Never a pattern
Always a pattern
Create a channel name from a String
Create a channel name from a Byte[]
Obtain the channel name as a Byte[]
Obtain the channel name as a String
Notification of errors from the redis server
The origin of the message
The message from the server
Provides basic information about the features available on a particular version of Redis
Create a new RedisFeatures instance for the given version
Does BITOP / BITCOUNT exist?
Is CLIENT SETNAME available?
Does EXEC support EXECABORT if there are errors?
Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)?
Does HDEL support varadic usage?
Does INCRBYFLOAT / HINCRBYFLOAT exist?
Does INFO support sections?
Is LINSERT available?
Indicates whether PEXPIRE and PTTL are supported
Does SRANDMEMBER support "count"?
Is the PERSIST operation supported?
Is RPUSHX and LPUSHX available?
Are cursor-based scans available?
Does EVAL / EVALSHA / etc exist?
Does SET have the EX|PX|NX|XX extensions?
Does SADD support varadic usage?
Is STRLEN available?
Is SETRANGE available?
Does TIME exist?
Are Lua changes to the calling database transparent to the calling client?
Is PFCOUNT supported on slaves?
The Redis version of the server
Create a string representation of the available features
Represents a key that can be stored in redis
Indicate whether two keys are not equal
Indicate whether two keys are not equal
Indicate whether two keys are not equal
Indicate whether two keys are not equal
Indicate whether two keys are not equal
Indicate whether two keys are equal
Indicate whether two keys are equal
Indicate whether two keys are equal
Indicate whether two keys are equal
Indicate whether two keys are equal
See Object.Equals
Indicate whether two keys are equal
See Object.GetHashCode
Obtains a string representation of the key
Create a key from a String
Create a key from a Byte[]
Obtain the key as a Byte[]
Obtain the key as a String
Concatenate two keys
Prepends p to this RedisKey, returning a new RedisKey.
Avoids some allocations if possible, repeated Prepend/Appends make
it less possible.
Appends p to this RedisKey, returning a new RedisKey.
Avoids some allocations if possible, repeated Prepend/Appends make
it less possible.
Represents a general-purpose result from redis, that may be cast into various anticipated types
Create a new RedisResult.
Indicates whether this result was a null result
Interprets the result as a String
Interprets the result as a Byte[]
Interprets the result as a Double
Interprets the result as an Int64
Interprets the result as an Int32
Interprets the result as a Boolean
Interprets the result as a RedisValue
Interprets the result as a RedisKey
Interprets the result as a Nullable Double
Interprets the result as a Nullable Int64
Interprets the result as a Nullable Int32
Interprets the result as a Nullable Boolean
Interprets the result as an array of String
Interprets the result as an array of Byte[]
Interprets the result as an array of Double
Interprets the result as an array of Int64
Interprets the result as an array of Int32
Interprets the result as an array of Boolean
Interprets the result as an array of RedisValue
Interprets the result as an array of RedisKey
Interprets the result as an array of RedisResult
The intrinsinc data-types supported by redis
http://redis.io/topics/data-types
The specified key does not exist
Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object.
A String value can be at max 512 Megabytes in length.
http://redis.io/commands#string
Redis Lists are simply lists of strings, sorted by insertion order. It is possible to add elements to a Redis List pushing new elements on the head (on the left) or on the tail (on the right) of the list.
http://redis.io/commands#list
Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for existence of members in O(1) (constant time regardless of the number of elements contained inside the Set).
Redis Sets have the desirable property of not allowing repeated members. Adding the same element multiple times will result in a set having a single copy of this element. Practically speaking this means that adding a member does not require a check if exists then add operation.
http://redis.io/commands#set
Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. The difference is that every member of a Sorted Set is associated with score, that is used in order to take the sorted set ordered, from the smallest to the greatest score. While members are unique, scores may be repeated.
http://redis.io/commands#sorted_set
Redis Hashes are maps between string fields and string values, so they are the perfect data type to represent objects (eg: A User with a number of fields like name, surname, age, and so forth)
http://redis.io/commands#hash
The data-type was not recognised by the client library
Represents values that can be stored in redis
Represents the string ""
A null value
Indicates whether the value is a primitive integer
Indicates whether the value should be considered a null value
Indicates whether the value is either null or a zero-length value
Indicates whether the value is greater than zero-length
Indicates whether two RedisValue values are equivalent
Indicates whether two RedisValue values are equivalent
See Object.Equals()
Indicates whether two RedisValue values are equivalent
See Object.GetHashCode()
Returns a string representation of the value
Compare against a RedisValue for relative order
Creates a new RedisValue from an Int32
Creates a new RedisValue from a nullable Int32
Creates a new RedisValue from an Int64
Creates a new RedisValue from a nullable Int64
Creates a new RedisValue from a Double
Creates a new RedisValue from a nullable Double
Creates a new RedisValue from a String
Creates a new RedisValue from a Byte[]
Creates a new RedisValue from a Boolean
Creates a new RedisValue from a nullable Boolean
Converts the value to a Boolean
Converts the value to an Int32
Converts the value to an Int64
Converts the value to a Double
Converts the value to a nullable Double
Converts the value to a nullable Int64
Converts the value to a nullable Int32
Converts the value to a nullable Boolean
Converts the value to a String
Converts the value to a byte[]
Convert to a long if possible, returning true.
Returns false otherwise.
Convert to a int if possible, returning true.
Returns false otherwise.
Convert to a double if possible, returning true.
Returns false otherwise.
Additional operations to perform when making a server a master
No additional operations
Set the tie-breaker key on all available masters, to specify this server
Broadcast to the pub-sub channel to listening clients to reconfigure themselves
Issue a SLAVEOF to all other known nodes, making this this master of all
All additional operations
The type of save operation to perform
Instruct Redis to start an Append Only File rewrite process. The rewrite will create a small optimized version of the current Append Only File.
http://redis.io/commands/bgrewriteaof
Save the DB in background. The OK code is immediately returned. Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. A client my be able to check if the operation succeeded using the LASTSAVE command.
http://redis.io/commands/bgsave
Save the DB in foreground. This is almost never a good thing to do, and could cause significant blocking. Only do this if you know you need to save
http://redis.io/commands/save
Turns a script with @namedParameters into a LuaScript that can be executed
against a given IDatabase(Async) object
Determines whether or not the given type can be used to provide parameters for the given LuaScript.
Creates a Func that extracts parameters from the given type for use by a LuaScript.
Members that are RedisKey's get extracted to be passed in as keys to redis; all members that
appear in the script get extracted as RedisValue arguments to be sent up as args.
We send all values as arguments so we don't have to prepare the same script for different parameter
types.
The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for
keyspace isolation.
Illustrates the queues associates with this server
The endpoint to which this data relates (this can be null if the data represents all servers)
Counters associated with the interactive (non pub-sub) connection
Counters associated with other ambient activity
Counters associated with the subscription (pub-sub) connection
Indicates the total number of outstanding items against this server
See Object.ToString();
Computes the hash-slot that would be used by the given key
Indicates the flavor of a particular redis server
Classic redis-server server
Monitoring/configuration redis-sentinel server
Distributed redis-cluster server
Distributed redis installation via twemproxy
Describes an algebraic set operation that can be performed to combine multiple sets
Returns the members of the set resulting from the union of all the given sets.
Returns the members of the set resulting from the intersection of all the given sets.
Returns the members of the set resulting from the difference between the first set and all the successive sets.
Defines the persistence behaviour of the server during shutdown
The data is persisted if save points are configured
The data is NOT persisted even if save points are configured
The data is persisted even if save points are NOT configured
Allows callbacks from SocketManager as work is discovered
Indicates that a socket has connected
Indicates that the socket has signalled an error condition
Indicates that data is available on the socket, and that the consumer should read synchronously from the socket while there is data
Indicates that we cannot know whether data is available, and that the consume should commence reading asynchronously
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.
Creates a new (optionally named) SocketManager instance
Creates a new SocketManager instance
Gets the name of this SocketManager instance
Releases all resources associated with this instance
Describes a sorted-set element with the corresponding value
Initializes a SortedSetEntry value
The unique element stored in the sorted set
The score against the element
The score against the element
The unique element stored in the sorted set
Converts to a key/value pair
Converts from a key/value pair
See Object.ToString()
See Object.GetHashCode()
Compares two values for equality
Compares two values for equality
Compares two values by score
Compares two values by score
Compares two values for equality
Compares two values for non-equality
Specifies how to compare elements for sorting
Elements are interpreted as a double-precision floating point number and sorted numerically
Elements are sorted using their alphabetic form (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server)
We want to prevent callers hijacking the reader thread; this is a bit nasty, but works;
see http://stackoverflow.com/a/22588431/23354 for more information; a huge
thanks to Eli Arbel for spotting this (even though it is pure evil; it is *my kind of evil*)
Indicates whether the specified task will not hijack threads when results are set
Create a new TaskCompletion source
Create a new TaskCompletionSource that will not allow result-setting threads to be hijacked
Indicates when this operation should be performed (only some variations are legal in a given context)
The operation should occur whether or not there is an existing value
The operation should only occur when there is an existing value
The operation should only occur when there is not an existing value
Helper for Array.ConvertAll() as it's missing on .Net Core.
Converts array of one type to an array of another type.
Input type
Output type
source
selector
Provides the extension method to .
Creates a new instance that provides an isolated key space
of the specified underyling database instance.
The underlying database instance that the returned instance shall use.
The prefix that defines a key space isolation for the returned database instance.
A new instance that invokes the specified underlying
but prepends the specified
to all key paramters and thus forms a logical key space isolation.
The following methods are not supported in a key space isolated database and
will throw an when invoked:
Please notice that keys passed to a script are prefixed (as normal) but care must
be taken when a script returns the name of a key as that will (currently) not be
"unprefixed".