Interface IDatabase
- Namespace
- StackExchange.Redis
- Assembly
- StackExchange.Redis.StrongName.dll
Describes functionality that is common to both standalone redis servers and redis clusters
public interface IDatabase : IRedis, IDatabaseAsync, IRedisAsync
- Inherited Members
- Extension Methods
Properties
Database
The numeric identifier of this database
int Database { get; }
Property Value
Methods
CreateBatch(object)
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.
IBatch CreateBatch(object asyncState = null)
Parameters
asyncState
object
Returns
CreateTransaction(object)
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.
ITransaction CreateTransaction(object asyncState = null)
Parameters
asyncState
object
Returns
DebugObject(RedisKey, CommandFlags)
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.
RedisValue DebugObject(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
Remarks
Execute(string, ICollection<object>, CommandFlags)
Execute an arbitrary command against the server; this is primarily intended for executing modules, but may also be used to provide access to new features that lack a direct API
RedisResult Execute(string command, ICollection<object> args, CommandFlags flags = CommandFlags.None)
Parameters
command
stringargs
ICollection<object>flags
CommandFlags
Returns
- RedisResult
A dynamic representation of the command's result
Execute(string, params object[])
Execute an arbitrary command against the server; this is primarily intended for executing modules, but may also be used to provide access to new features that lack a direct API
RedisResult Execute(string command, params object[] args)
Parameters
Returns
- RedisResult
A dynamic representation of the command's result
GeoAdd(RedisKey, GeoEntry, CommandFlags)
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.
bool GeoAdd(RedisKey key, GeoEntry value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
GeoEntryflags
CommandFlags
Returns
- bool
True if the specified member was not already present in the set, else False
Remarks
GeoAdd(RedisKey, GeoEntry[], CommandFlags)
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.
long GeoAdd(RedisKey key, GeoEntry[] values, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalues
GeoEntry[]flags
CommandFlags
Returns
- long
the number of elements that were added to the set, not including all the elements already present into the set.
Remarks
GeoAdd(RedisKey, double, double, RedisValue, CommandFlags)
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.
bool GeoAdd(RedisKey key, double longitude, double latitude, RedisValue member, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeylongitude
doublelatitude
doublemember
RedisValueflags
CommandFlags
Returns
- bool
True if the specified member was not already present in the set, else False
Remarks
GeoDistance(RedisKey, RedisValue, RedisValue, GeoUnit, CommandFlags)
Return the distance between two members in the geospatial index represented by the sorted set.
double? GeoDistance(RedisKey key, RedisValue member1, RedisValue member2, GeoUnit unit = GeoUnit.Meters, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember1
RedisValuemember2
RedisValueunit
GeoUnitflags
CommandFlags
Returns
- double?
The command returns the distance as a double (represented as a string) in the specified unit, or NULL if one or both the elements are missing.
Remarks
GeoHash(RedisKey, RedisValue, CommandFlags)
Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD).
string GeoHash(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValueflags
CommandFlags
Returns
- string
The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command.
Remarks
GeoHash(RedisKey, RedisValue[], CommandFlags)
Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD).
string[] GeoHash(RedisKey key, RedisValue[] members, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymembers
RedisValue[]flags
CommandFlags
Returns
- string[]
The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command.
Remarks
GeoPosition(RedisKey, RedisValue, CommandFlags)
Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key.
GeoPosition? GeoPosition(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValueflags
CommandFlags
Returns
- GeoPosition?
The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array.
Remarks
GeoPosition(RedisKey, RedisValue[], CommandFlags)
Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key.
GeoPosition?[] GeoPosition(RedisKey key, RedisValue[] members, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymembers
RedisValue[]flags
CommandFlags
Returns
- GeoPosition?[]
The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array.
Remarks
GeoRadius(RedisKey, RedisValue, double, GeoUnit, int, Order?, GeoRadiusOptions, CommandFlags)
Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius).
GeoRadiusResult[] GeoRadius(RedisKey key, RedisValue member, double radius, GeoUnit unit = GeoUnit.Meters, int count = -1, Order? order = null, GeoRadiusOptions options = GeoRadiusOptions.Default, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValueradius
doubleunit
GeoUnitcount
intorder
Order?options
GeoRadiusOptionsflags
CommandFlags
Returns
- GeoRadiusResult[]
GeoRadiusResult[]
Remarks
GeoRadius(RedisKey, double, double, double, GeoUnit, int, Order?, GeoRadiusOptions, CommandFlags)
Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius).
GeoRadiusResult[] GeoRadius(RedisKey key, double longitude, double latitude, double radius, GeoUnit unit = GeoUnit.Meters, int count = -1, Order? order = null, GeoRadiusOptions options = GeoRadiusOptions.Default, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeylongitude
doublelatitude
doubleradius
doubleunit
GeoUnitcount
intorder
Order?options
GeoRadiusOptionsflags
CommandFlags
Returns
- GeoRadiusResult[]
GeoRadiusResult[]
Remarks
GeoRemove(RedisKey, RedisValue, CommandFlags)
Removes the specified member from the geo sorted set stored at key. Non existing members are ignored.
bool GeoRemove(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValueflags
CommandFlags
Returns
- bool
True if the member existed in the sorted set and was removed; False otherwise.
Remarks
HashDecrement(RedisKey, RedisValue, double, CommandFlags)
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.
double HashDecrement(RedisKey key, RedisValue hashField, double value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValuevalue
doubleflags
CommandFlags
Returns
- double
the value at field after the decrement operation.
Remarks
The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
HashDecrement(RedisKey, RedisValue, long, CommandFlags)
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.
long HashDecrement(RedisKey key, RedisValue hashField, long value = 1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValuevalue
longflags
CommandFlags
Returns
- long
the value at field after the decrement operation.
Remarks
The range of values supported by HINCRBY is limited to 64 bit signed integers.
HashDelete(RedisKey, RedisValue, CommandFlags)
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.
bool HashDelete(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValueflags
CommandFlags
Returns
- bool
The number of fields that were removed.
Remarks
HashDelete(RedisKey, RedisValue[], CommandFlags)
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.
long HashDelete(RedisKey key, RedisValue[] hashFields, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashFields
RedisValue[]flags
CommandFlags
Returns
- long
The number of fields that were removed.
Remarks
HashExists(RedisKey, RedisValue, CommandFlags)
Returns if field is an existing field in the hash stored at key.
bool HashExists(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValueflags
CommandFlags
Returns
- bool
1 if the hash contains field. 0 if the hash does not contain field, or key does not exist.
Remarks
HashGet(RedisKey, RedisValue, CommandFlags)
Returns the value associated with field in the hash stored at key.
RedisValue HashGet(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValueflags
CommandFlags
Returns
- RedisValue
the value associated with field, or nil when field is not present in the hash or key does not exist.
Remarks
HashGet(RedisKey, RedisValue[], CommandFlags)
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.
RedisValue[] HashGet(RedisKey key, RedisValue[] hashFields, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashFields
RedisValue[]flags
CommandFlags
Returns
- RedisValue[]
list of values associated with the given fields, in the same order as they are requested.
Remarks
HashGetAll(RedisKey, CommandFlags)
Returns all fields and values of the hash stored at key.
HashEntry[] HashGetAll(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- HashEntry[]
list of fields and their values stored in the hash, or an empty list when key does not exist.
Remarks
HashIncrement(RedisKey, RedisValue, double, CommandFlags)
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.
double HashIncrement(RedisKey key, RedisValue hashField, double value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValuevalue
doubleflags
CommandFlags
Returns
- double
the value at field after the increment operation.
Remarks
The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation.
HashIncrement(RedisKey, RedisValue, long, CommandFlags)
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.
long HashIncrement(RedisKey key, RedisValue hashField, long value = 1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValuevalue
longflags
CommandFlags
Returns
- long
the value at field after the increment operation.
Remarks
The range of values supported by HINCRBY is limited to 64 bit signed integers.
HashKeys(RedisKey, CommandFlags)
Returns all field names in the hash stored at key.
RedisValue[] HashKeys(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValue[]
list of fields in the hash, or an empty list when key does not exist.
Remarks
HashLength(RedisKey, CommandFlags)
Returns the number of fields contained in the hash stored at key.
long HashLength(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- long
number of fields in the hash, or 0 when key does not exist.
Remarks
HashScan(RedisKey, RedisValue, int, CommandFlags)
The HSCAN command is used to incrementally iterate over a hash
IEnumerable<HashEntry> HashScan(RedisKey key, RedisValue pattern, int pageSize, CommandFlags flags)
Parameters
key
RedisKeypattern
RedisValuepageSize
intflags
CommandFlags
Returns
- IEnumerable<HashEntry>
yields all elements of the hash.
Remarks
HashScan(RedisKey, RedisValue, int, long, int, CommandFlags)
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.
IEnumerable<HashEntry> HashScan(RedisKey key, RedisValue pattern = default, int pageSize = 10, long cursor = 0, int pageOffset = 0, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeypattern
RedisValuepageSize
intcursor
longpageOffset
intflags
CommandFlags
Returns
- IEnumerable<HashEntry>
yields all elements of the hash.
Remarks
HashSet(RedisKey, HashEntry[], CommandFlags)
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.
void HashSet(RedisKey key, HashEntry[] hashFields, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashFields
HashEntry[]flags
CommandFlags
Remarks
HashSet(RedisKey, RedisValue, RedisValue, When, CommandFlags)
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.
bool HashSet(RedisKey key, RedisValue hashField, RedisValue value, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyhashField
RedisValuevalue
RedisValuewhen
Whenflags
CommandFlags
Returns
- bool
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.
Remarks
HashValues(RedisKey, CommandFlags)
Returns all values in the hash stored at key.
RedisValue[] HashValues(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValue[]
list of values in the hash, or an empty list when key does not exist.
Remarks
HyperLogLogAdd(RedisKey, RedisValue, CommandFlags)
Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument.
bool HyperLogLogAdd(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
- bool
true if at least 1 HyperLogLog internal register was altered. false otherwise.
Remarks
HyperLogLogAdd(RedisKey, RedisValue[], CommandFlags)
Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument.
bool HyperLogLogAdd(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalues
RedisValue[]flags
CommandFlags
Returns
- bool
true if at least 1 HyperLogLog internal register was altered. false otherwise.
Remarks
HyperLogLogLength(RedisKey, CommandFlags)
Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist.
long HyperLogLogLength(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- long
The approximated number of unique elements observed via HyperLogLogAdd.
Remarks
HyperLogLogLength(RedisKey[], CommandFlags)
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.
long HyperLogLogLength(RedisKey[] keys, CommandFlags flags = CommandFlags.None)
Parameters
keys
RedisKey[]flags
CommandFlags
Returns
- long
The approximated number of unique elements observed via HyperLogLogAdd.
Remarks
HyperLogLogMerge(RedisKey, RedisKey, RedisKey, CommandFlags)
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.
void HyperLogLogMerge(RedisKey destination, RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None)
Parameters
destination
RedisKeyfirst
RedisKeysecond
RedisKeyflags
CommandFlags
Remarks
HyperLogLogMerge(RedisKey, RedisKey[], CommandFlags)
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.
void HyperLogLogMerge(RedisKey destination, RedisKey[] sourceKeys, CommandFlags flags = CommandFlags.None)
Parameters
destination
RedisKeysourceKeys
RedisKey[]flags
CommandFlags
Remarks
IdentifyEndpoint(RedisKey, CommandFlags)
Inidicate exactly which redis server we are talking to
EndPoint IdentifyEndpoint(RedisKey key = default, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
KeyDelete(RedisKey, CommandFlags)
Removes the specified key. A key is ignored if it does not exist.
bool KeyDelete(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- bool
True if the key was removed.
Remarks
KeyDelete(RedisKey[], CommandFlags)
Removes the specified keys. A key is ignored if it does not exist.
long KeyDelete(RedisKey[] keys, CommandFlags flags = CommandFlags.None)
Parameters
keys
RedisKey[]flags
CommandFlags
Returns
- long
The number of keys that were removed.
Remarks
KeyDump(RedisKey, CommandFlags)
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.
byte[] KeyDump(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- byte[]
the serialized value.
Remarks
KeyExists(RedisKey, CommandFlags)
Returns if key exists.
bool KeyExists(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- bool
1 if the key exists. 0 if the key does not exist.
Remarks
KeyExpire(RedisKey, DateTime?, CommandFlags)
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.
bool KeyExpire(RedisKey key, DateTime? expiry, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyexpiry
DateTime?flags
CommandFlags
Returns
- bool
1 if the timeout was set. 0 if key does not exist or the timeout could not be set.
Remarks
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.
KeyExpire(RedisKey, TimeSpan?, CommandFlags)
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.
bool KeyExpire(RedisKey key, TimeSpan? expiry, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyexpiry
TimeSpan?flags
CommandFlags
Returns
- bool
1 if the timeout was set. 0 if key does not exist or the timeout could not be set.
Remarks
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.
KeyMigrate(RedisKey, EndPoint, int, int, MigrateOptions, CommandFlags)
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.
void KeyMigrate(RedisKey key, EndPoint toServer, int toDatabase = 0, int timeoutMilliseconds = 0, MigrateOptions migrateOptions = MigrateOptions.None, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeytoServer
EndPointtoDatabase
inttimeoutMilliseconds
intmigrateOptions
MigrateOptionsflags
CommandFlags
Remarks
KeyMove(RedisKey, int, CommandFlags)
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.
bool KeyMove(RedisKey key, int database, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeydatabase
intflags
CommandFlags
Returns
- bool
1 if key was moved; 0 if key was not moved.
Remarks
KeyPersist(RedisKey, CommandFlags)
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).
bool KeyPersist(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- bool
1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout.
Remarks
KeyRandom(CommandFlags)
Return a random key from the currently selected database.
RedisKey KeyRandom(CommandFlags flags = CommandFlags.None)
Parameters
flags
CommandFlags
Returns
- RedisKey
the random key, or nil when the database is empty.
Remarks
KeyRename(RedisKey, RedisKey, When, CommandFlags)
Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist.
bool KeyRename(RedisKey key, RedisKey newKey, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeynewKey
RedisKeywhen
Whenflags
CommandFlags
Returns
Remarks
KeyRestore(RedisKey, byte[], TimeSpan?, CommandFlags)
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.
void KeyRestore(RedisKey key, byte[] value, TimeSpan? expiry = null, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
byte[]expiry
TimeSpan?flags
CommandFlags
Remarks
KeyTimeToLive(RedisKey, CommandFlags)
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.
TimeSpan? KeyTimeToLive(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- TimeSpan?
TTL, or nil when key does not exist or does not have a timeout.
Remarks
KeyType(RedisKey, CommandFlags)
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.
RedisType KeyType(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisType
type of key, or none when key does not exist.
Remarks
ListGetByIndex(RedisKey, long, CommandFlags)
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.
RedisValue ListGetByIndex(RedisKey key, long index, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyindex
longflags
CommandFlags
Returns
- RedisValue
the requested element, or nil when index is out of range.
Remarks
ListInsertAfter(RedisKey, RedisValue, RedisValue, CommandFlags)
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.
long ListInsertAfter(RedisKey key, RedisValue pivot, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeypivot
RedisValuevalue
RedisValueflags
CommandFlags
Returns
- long
the length of the list after the insert operation, or -1 when the value pivot was not found.
Remarks
ListInsertBefore(RedisKey, RedisValue, RedisValue, CommandFlags)
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.
long ListInsertBefore(RedisKey key, RedisValue pivot, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeypivot
RedisValuevalue
RedisValueflags
CommandFlags
Returns
- long
the length of the list after the insert operation, or -1 when the value pivot was not found.
Remarks
ListLeftPop(RedisKey, CommandFlags)
Removes and returns the first element of the list stored at key.
RedisValue ListLeftPop(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValue
the value of the first element, or nil when key does not exist.
Remarks
ListLeftPush(RedisKey, RedisValue, When, CommandFlags)
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.
long ListLeftPush(RedisKey key, RedisValue value, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValuewhen
Whenflags
CommandFlags
Returns
- long
the length of the list after the push operations.
Remarks
ListLeftPush(RedisKey, RedisValue[], CommandFlags)
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.
long ListLeftPush(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalues
RedisValue[]flags
CommandFlags
Returns
- long
the length of the list after the push operations.
Remarks
ListLength(RedisKey, CommandFlags)
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.
long ListLength(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- long
the length of the list at key.
Remarks
ListRange(RedisKey, long, long, CommandFlags)
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.
RedisValue[] ListRange(RedisKey key, long start = 0, long stop = -1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
longstop
longflags
CommandFlags
Returns
- RedisValue[]
list of elements in the specified range.
Remarks
ListRemove(RedisKey, RedisValue, long, CommandFlags)
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.
long ListRemove(RedisKey key, RedisValue value, long count = 0, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValuecount
longflags
CommandFlags
Returns
- long
the number of removed elements.
Remarks
ListRightPop(RedisKey, CommandFlags)
Removes and returns the last element of the list stored at key.
RedisValue ListRightPop(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
Remarks
ListRightPopLeftPush(RedisKey, RedisKey, CommandFlags)
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.
RedisValue ListRightPopLeftPush(RedisKey source, RedisKey destination, CommandFlags flags = CommandFlags.None)
Parameters
source
RedisKeydestination
RedisKeyflags
CommandFlags
Returns
- RedisValue
the element being popped and pushed.
Remarks
ListRightPush(RedisKey, RedisValue, When, CommandFlags)
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.
long ListRightPush(RedisKey key, RedisValue value, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValuewhen
Whenflags
CommandFlags
Returns
- long
the length of the list after the push operation.
Remarks
ListRightPush(RedisKey, RedisValue[], CommandFlags)
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.
long ListRightPush(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalues
RedisValue[]flags
CommandFlags
Returns
- long
the length of the list after the push operation.
Remarks
ListSetByIndex(RedisKey, long, RedisValue, CommandFlags)
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.
void ListSetByIndex(RedisKey key, long index, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyindex
longvalue
RedisValueflags
CommandFlags
Remarks
ListTrim(RedisKey, long, long, CommandFlags)
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.
void ListTrim(RedisKey key, long start, long stop, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
longstop
longflags
CommandFlags
Remarks
LockExtend(RedisKey, RedisValue, TimeSpan, CommandFlags)
Extends a lock, if the token value is correct
bool LockExtend(RedisKey key, RedisValue value, TimeSpan expiry, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueexpiry
TimeSpanflags
CommandFlags
Returns
LockQuery(RedisKey, CommandFlags)
Queries the token held against a lock
RedisValue LockQuery(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
LockRelease(RedisKey, RedisValue, CommandFlags)
Releases a lock, if the token value is correct
bool LockRelease(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
LockTake(RedisKey, RedisValue, TimeSpan, CommandFlags)
Takes a lock (specifying a token value) if it is not already taken
bool LockTake(RedisKey key, RedisValue value, TimeSpan expiry, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueexpiry
TimeSpanflags
CommandFlags
Returns
Publish(RedisChannel, RedisValue, CommandFlags)
Posts a message to the given channel.
long Publish(RedisChannel channel, RedisValue message, CommandFlags flags = CommandFlags.None)
Parameters
channel
RedisChannelmessage
RedisValueflags
CommandFlags
Returns
- long
the number of clients that received the message.
Remarks
ScriptEvaluate(LoadedLuaScript, object, CommandFlags)
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.
RedisResult ScriptEvaluate(LoadedLuaScript script, object parameters = null, CommandFlags flags = CommandFlags.None)
Parameters
script
LoadedLuaScriptparameters
objectflags
CommandFlags
Returns
ScriptEvaluate(LuaScript, object, CommandFlags)
Execute a lua script against the server, using previously prepared script.
Named parameters, if any, are provided by the parameters
object.
RedisResult ScriptEvaluate(LuaScript script, object parameters = null, CommandFlags flags = CommandFlags.None)
Parameters
script
LuaScriptparameters
objectflags
CommandFlags
Returns
ScriptEvaluate(byte[], RedisKey[], RedisValue[], CommandFlags)
Execute a Lua script against the server using just the SHA1 hash
RedisResult ScriptEvaluate(byte[] hash, RedisKey[] keys = null, RedisValue[] values = null, CommandFlags flags = CommandFlags.None)
Parameters
hash
byte[]keys
RedisKey[]values
RedisValue[]flags
CommandFlags
Returns
- RedisResult
A dynamic representation of the script's result
Remarks
ScriptEvaluate(string, RedisKey[], RedisValue[], CommandFlags)
Execute a Lua script against the server
RedisResult ScriptEvaluate(string script, RedisKey[] keys = null, RedisValue[] values = null, CommandFlags flags = CommandFlags.None)
Parameters
script
stringkeys
RedisKey[]values
RedisValue[]flags
CommandFlags
Returns
- RedisResult
A dynamic representation of the script's result
Remarks
SetAdd(RedisKey, RedisValue, CommandFlags)
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.
bool SetAdd(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
- bool
True if the specified member was not already present in the set, else False
Remarks
SetAdd(RedisKey, RedisValue[], CommandFlags)
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.
long SetAdd(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalues
RedisValue[]flags
CommandFlags
Returns
- long
the number of elements that were added to the set, not including all the elements already present into the set.
Remarks
SetCombine(SetOperation, RedisKey, RedisKey, CommandFlags)
Returns the members of the set resulting from the specified operation against the given sets.
RedisValue[] SetCombine(SetOperation operation, RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None)
Parameters
operation
SetOperationfirst
RedisKeysecond
RedisKeyflags
CommandFlags
Returns
- RedisValue[]
list with members of the resulting set.
Remarks
SetCombine(SetOperation, RedisKey[], CommandFlags)
Returns the members of the set resulting from the specified operation against the given sets.
RedisValue[] SetCombine(SetOperation operation, RedisKey[] keys, CommandFlags flags = CommandFlags.None)
Parameters
operation
SetOperationkeys
RedisKey[]flags
CommandFlags
Returns
- RedisValue[]
list with members of the resulting set.
Remarks
SetCombineAndStore(SetOperation, RedisKey, RedisKey, RedisKey, CommandFlags)
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.
long SetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None)
Parameters
operation
SetOperationdestination
RedisKeyfirst
RedisKeysecond
RedisKeyflags
CommandFlags
Returns
- long
the number of elements in the resulting set.
Remarks
SetCombineAndStore(SetOperation, RedisKey, RedisKey[], CommandFlags)
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.
long SetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey[] keys, CommandFlags flags = CommandFlags.None)
Parameters
operation
SetOperationdestination
RedisKeykeys
RedisKey[]flags
CommandFlags
Returns
- long
the number of elements in the resulting set.
Remarks
SetContains(RedisKey, RedisValue, CommandFlags)
Returns if member is a member of the set stored at key.
bool SetContains(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
- bool
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.
Remarks
SetLength(RedisKey, CommandFlags)
Returns the set cardinality (number of elements) of the set stored at key.
long SetLength(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- long
the cardinality (number of elements) of the set, or 0 if key does not exist.
Remarks
SetMembers(RedisKey, CommandFlags)
Returns all the members of the set value stored at key.
RedisValue[] SetMembers(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValue[]
all elements of the set.
Remarks
SetMove(RedisKey, RedisKey, RedisValue, CommandFlags)
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.
bool SetMove(RedisKey source, RedisKey destination, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
source
RedisKeydestination
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
- bool
1 if the element is moved. 0 if the element is not a member of source and no operation was performed.
Remarks
SetPop(RedisKey, CommandFlags)
Removes and returns a random element from the set value stored at key.
RedisValue SetPop(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValue
the removed element, or nil when key does not exist.
Remarks
SetRandomMember(RedisKey, CommandFlags)
Return a random element from the set value stored at key.
RedisValue SetRandomMember(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValue
the randomly selected element, or nil when key does not exist
Remarks
SetRandomMembers(RedisKey, long, CommandFlags)
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.
RedisValue[] SetRandomMembers(RedisKey key, long count, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeycount
longflags
CommandFlags
Returns
- RedisValue[]
an array of elements, or an empty array when key does not exist
Remarks
SetRemove(RedisKey, RedisValue, CommandFlags)
Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored.
bool SetRemove(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
- bool
True if the specified member was already present in the set, else False
Remarks
SetRemove(RedisKey, RedisValue[], CommandFlags)
Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored.
long SetRemove(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalues
RedisValue[]flags
CommandFlags
Returns
- long
the number of members that were removed from the set, not including non existing members.
Remarks
SetScan(RedisKey, RedisValue, int, CommandFlags)
The SSCAN command is used to incrementally iterate over set
IEnumerable<RedisValue> SetScan(RedisKey key, RedisValue pattern, int pageSize, CommandFlags flags)
Parameters
key
RedisKeypattern
RedisValuepageSize
intflags
CommandFlags
Returns
- IEnumerable<RedisValue>
yields all elements of the set.
Remarks
SetScan(RedisKey, RedisValue, int, long, int, CommandFlags)
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.
IEnumerable<RedisValue> SetScan(RedisKey key, RedisValue pattern = default, int pageSize = 10, long cursor = 0, int pageOffset = 0, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeypattern
RedisValuepageSize
intcursor
longpageOffset
intflags
CommandFlags
Returns
- IEnumerable<RedisValue>
yields all elements of the set.
Remarks
Sort(RedisKey, long, long, Order, SortType, RedisValue, RedisValue[], CommandFlags)
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).
RedisValue[] Sort(RedisKey key, long skip = 0, long take = -1, Order order = Order.Ascending, SortType sortType = SortType.Numeric, RedisValue by = default, RedisValue[] get = null, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyskip
longtake
longorder
OrdersortType
SortTypeby
RedisValueget
RedisValue[]flags
CommandFlags
Returns
- RedisValue[]
Returns the sorted elements, or the external values if
get
is specified
Remarks
SortAndStore(RedisKey, RedisKey, long, long, Order, SortType, RedisValue, RedisValue[], CommandFlags)
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).
long SortAndStore(RedisKey destination, RedisKey key, long skip = 0, long take = -1, Order order = Order.Ascending, SortType sortType = SortType.Numeric, RedisValue by = default, RedisValue[] get = null, CommandFlags flags = CommandFlags.None)
Parameters
destination
RedisKeykey
RedisKeyskip
longtake
longorder
OrdersortType
SortTypeby
RedisValueget
RedisValue[]flags
CommandFlags
Returns
- long
Returns the number of elements stored in the new list
Remarks
SortedSetAdd(RedisKey, RedisValue, double, CommandFlags)
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.
bool SortedSetAdd(RedisKey key, RedisValue member, double score, CommandFlags flags)
Parameters
key
RedisKeymember
RedisValuescore
doubleflags
CommandFlags
Returns
- bool
True if the value was added, False if it already existed (the score is still updated)
Remarks
SortedSetAdd(RedisKey, RedisValue, double, When, CommandFlags)
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.
bool SortedSetAdd(RedisKey key, RedisValue member, double score, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValuescore
doublewhen
Whenflags
CommandFlags
Returns
- bool
True if the value was added, False if it already existed (the score is still updated)
Remarks
SortedSetAdd(RedisKey, SortedSetEntry[], CommandFlags)
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.
long SortedSetAdd(RedisKey key, SortedSetEntry[] values, CommandFlags flags)
Parameters
key
RedisKeyvalues
SortedSetEntry[]flags
CommandFlags
Returns
- long
The number of elements added to the sorted sets, not including elements already existing for which the score was updated.
Remarks
SortedSetAdd(RedisKey, SortedSetEntry[], When, CommandFlags)
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.
long SortedSetAdd(RedisKey key, SortedSetEntry[] values, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalues
SortedSetEntry[]when
Whenflags
CommandFlags
Returns
- long
The number of elements added to the sorted sets, not including elements already existing for which the score was updated.
Remarks
SortedSetCombineAndStore(SetOperation, RedisKey, RedisKey, RedisKey, Aggregate, CommandFlags)
Computes a set operation over two sorted sets, and stores the result in destination, optionally performing a specific aggregation (defaults to sum)
long SortedSetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey first, RedisKey second, Aggregate aggregate = Aggregate.Sum, CommandFlags flags = CommandFlags.None)
Parameters
operation
SetOperationdestination
RedisKeyfirst
RedisKeysecond
RedisKeyaggregate
Aggregateflags
CommandFlags
Returns
- long
the number of elements in the resulting sorted set at destination
Remarks
SortedSetCombineAndStore(SetOperation, RedisKey, RedisKey[], double[], Aggregate, CommandFlags)
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)
long SortedSetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey[] keys, double[] weights = null, Aggregate aggregate = Aggregate.Sum, CommandFlags flags = CommandFlags.None)
Parameters
operation
SetOperationdestination
RedisKeykeys
RedisKey[]weights
double[]aggregate
Aggregateflags
CommandFlags
Returns
- long
the number of elements in the resulting sorted set at destination
Remarks
SortedSetDecrement(RedisKey, RedisValue, double, CommandFlags)
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).
double SortedSetDecrement(RedisKey key, RedisValue member, double value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValuevalue
doubleflags
CommandFlags
Returns
- double
the new score of member
Remarks
SortedSetIncrement(RedisKey, RedisValue, double, CommandFlags)
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).
double SortedSetIncrement(RedisKey key, RedisValue member, double value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValuevalue
doubleflags
CommandFlags
Returns
- double
the new score of member
Remarks
SortedSetLength(RedisKey, double, double, Exclude, CommandFlags)
Returns the sorted set cardinality (number of elements) of the sorted set stored at key.
long SortedSetLength(RedisKey key, double min = -Infinity, double max = Infinity, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymin
doublemax
doubleexclude
Excludeflags
CommandFlags
Returns
- long
the cardinality (number of elements) of the sorted set, or 0 if key does not exist.
Remarks
SortedSetLengthByValue(RedisKey, RedisValue, RedisValue, Exclude, CommandFlags)
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.
long SortedSetLengthByValue(RedisKey key, RedisValue min, RedisValue max, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymin
RedisValuemax
RedisValueexclude
Excludeflags
CommandFlags
Returns
- long
the number of elements in the specified score range.
Remarks
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.
SortedSetRangeByRank(RedisKey, long, long, Order, CommandFlags)
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.
RedisValue[] SortedSetRangeByRank(RedisKey key, long start = 0, long stop = -1, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
longstop
longorder
Orderflags
CommandFlags
Returns
- RedisValue[]
list of elements in the specified range
Remarks
SortedSetRangeByRankWithScores(RedisKey, long, long, Order, CommandFlags)
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.
SortedSetEntry[] SortedSetRangeByRankWithScores(RedisKey key, long start = 0, long stop = -1, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
longstop
longorder
Orderflags
CommandFlags
Returns
- SortedSetEntry[]
list of elements in the specified range
Remarks
SortedSetRangeByScore(RedisKey, double, double, Exclude, Order, long, long, CommandFlags)
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.
RedisValue[] SortedSetRangeByScore(RedisKey key, double start = -Infinity, double stop = Infinity, Exclude exclude = Exclude.None, Order order = Order.Ascending, long skip = 0, long take = -1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
doublestop
doubleexclude
Excludeorder
Orderskip
longtake
longflags
CommandFlags
Returns
- RedisValue[]
list of elements in the specified score range
Remarks
SortedSetRangeByScoreWithScores(RedisKey, double, double, Exclude, Order, long, long, CommandFlags)
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.
SortedSetEntry[] SortedSetRangeByScoreWithScores(RedisKey key, double start = -Infinity, double stop = Infinity, Exclude exclude = Exclude.None, Order order = Order.Ascending, long skip = 0, long take = -1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
doublestop
doubleexclude
Excludeorder
Orderskip
longtake
longflags
CommandFlags
Returns
- SortedSetEntry[]
list of elements in the specified score range
Remarks
SortedSetRangeByValue(RedisKey, RedisValue, RedisValue, Exclude, long, long, CommandFlags)
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.
RedisValue[] SortedSetRangeByValue(RedisKey key, RedisValue min = default, RedisValue max = default, Exclude exclude = Exclude.None, long skip = 0, long take = -1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymin
RedisValuemax
RedisValueexclude
Excludeskip
longtake
longflags
CommandFlags
Returns
- RedisValue[]
list of elements in the specified score range.
Remarks
SortedSetRank(RedisKey, RedisValue, Order, CommandFlags)
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.
long? SortedSetRank(RedisKey key, RedisValue member, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValueorder
Orderflags
CommandFlags
Returns
- long?
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
Remarks
SortedSetRemove(RedisKey, RedisValue, CommandFlags)
Removes the specified member from the sorted set stored at key. Non existing members are ignored.
bool SortedSetRemove(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValueflags
CommandFlags
Returns
- bool
True if the member existed in the sorted set and was removed; False otherwise.
Remarks
SortedSetRemove(RedisKey, RedisValue[], CommandFlags)
Removes the specified members from the sorted set stored at key. Non existing members are ignored.
long SortedSetRemove(RedisKey key, RedisValue[] members, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymembers
RedisValue[]flags
CommandFlags
Returns
- long
The number of members removed from the sorted set, not including non existing members.
Remarks
SortedSetRemoveRangeByRank(RedisKey, long, long, CommandFlags)
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.
long SortedSetRemoveRangeByRank(RedisKey key, long start, long stop, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
longstop
longflags
CommandFlags
Returns
- long
the number of elements removed.
Remarks
SortedSetRemoveRangeByScore(RedisKey, double, double, Exclude, CommandFlags)
Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default).
long SortedSetRemoveRangeByScore(RedisKey key, double start, double stop, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
doublestop
doubleexclude
Excludeflags
CommandFlags
Returns
- long
the number of elements removed.
Remarks
SortedSetRemoveRangeByValue(RedisKey, RedisValue, RedisValue, Exclude, CommandFlags)
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.
long SortedSetRemoveRangeByValue(RedisKey key, RedisValue min, RedisValue max, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymin
RedisValuemax
RedisValueexclude
Excludeflags
CommandFlags
Returns
- long
the number of elements removed.
Remarks
SortedSetScan(RedisKey, RedisValue, int, CommandFlags)
The ZSCAN command is used to incrementally iterate over a sorted set
IEnumerable<SortedSetEntry> SortedSetScan(RedisKey key, RedisValue pattern, int pageSize, CommandFlags flags)
Parameters
key
RedisKeypattern
RedisValuepageSize
intflags
CommandFlags
Returns
- IEnumerable<SortedSetEntry>
yields all elements of the sorted set.
Remarks
SortedSetScan(RedisKey, RedisValue, int, long, int, CommandFlags)
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.
IEnumerable<SortedSetEntry> SortedSetScan(RedisKey key, RedisValue pattern = default, int pageSize = 10, long cursor = 0, int pageOffset = 0, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeypattern
RedisValuepageSize
intcursor
longpageOffset
intflags
CommandFlags
Returns
- IEnumerable<SortedSetEntry>
yields all elements of the sorted set.
Remarks
SortedSetScore(RedisKey, RedisValue, CommandFlags)
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.
double? SortedSetScore(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeymember
RedisValueflags
CommandFlags
Returns
- double?
the score of member
Remarks
StringAppend(RedisKey, RedisValue, CommandFlags)
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.
long StringAppend(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
- long
the length of the string after the append operation.
Remarks
StringBitCount(RedisKey, long, long, CommandFlags)
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.
long StringBitCount(RedisKey key, long start = 0, long end = -1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
longend
longflags
CommandFlags
Returns
- long
The number of bits set to 1
Remarks
StringBitOperation(Bitwise, RedisKey, RedisKey, RedisKey, CommandFlags)
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.
long StringBitOperation(Bitwise operation, RedisKey destination, RedisKey first, RedisKey second = default, CommandFlags flags = CommandFlags.None)
Parameters
operation
Bitwisedestination
RedisKeyfirst
RedisKeysecond
RedisKeyflags
CommandFlags
Returns
- long
The size of the string stored in the destination key, that is equal to the size of the longest input string.
Remarks
StringBitOperation(Bitwise, RedisKey, RedisKey[], CommandFlags)
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.
long StringBitOperation(Bitwise operation, RedisKey destination, RedisKey[] keys, CommandFlags flags = CommandFlags.None)
Parameters
operation
Bitwisedestination
RedisKeykeys
RedisKey[]flags
CommandFlags
Returns
- long
The size of the string stored in the destination key, that is equal to the size of the longest input string.
Remarks
StringBitPosition(RedisKey, bool, long, long, CommandFlags)
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.
long StringBitPosition(RedisKey key, bool bit, long start = 0, long end = -1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeybit
boolstart
longend
longflags
CommandFlags
Returns
- long
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.
Remarks
StringDecrement(RedisKey, double, CommandFlags)
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.
double StringDecrement(RedisKey key, double value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
doubleflags
CommandFlags
Returns
- double
the value of key after the decrement
Remarks
StringDecrement(RedisKey, long, CommandFlags)
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.
long StringDecrement(RedisKey key, long value = 1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
longflags
CommandFlags
Returns
- long
the value of key after the decrement
Remarks
StringGet(RedisKey, CommandFlags)
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.
RedisValue StringGet(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValue
the value of key, or nil when key does not exist.
Remarks
StringGet(RedisKey[], CommandFlags)
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.
RedisValue[] StringGet(RedisKey[] keys, CommandFlags flags = CommandFlags.None)
Parameters
keys
RedisKey[]flags
CommandFlags
Returns
Remarks
StringGetBit(RedisKey, long, CommandFlags)
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.
bool StringGetBit(RedisKey key, long offset, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyoffset
longflags
CommandFlags
Returns
- bool
the bit value stored at offset.
Remarks
StringGetRange(RedisKey, long, long, CommandFlags)
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.
RedisValue StringGetRange(RedisKey key, long start, long end, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeystart
longend
longflags
CommandFlags
Returns
- RedisValue
the substring of the string value stored at key
Remarks
StringGetSet(RedisKey, RedisValue, CommandFlags)
Atomically sets key to value and returns the old value stored at key.
RedisValue StringGetSet(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueflags
CommandFlags
Returns
- RedisValue
the old value stored at key, or nil when key did not exist.
Remarks
StringGetWithExpiry(RedisKey, CommandFlags)
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.
RedisValueWithExpiry StringGetWithExpiry(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- RedisValueWithExpiry
the value of key, or nil when key does not exist.
Remarks
StringIncrement(RedisKey, double, CommandFlags)
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.
double StringIncrement(RedisKey key, double value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
doubleflags
CommandFlags
Returns
- double
the value of key after the increment
Remarks
StringIncrement(RedisKey, long, CommandFlags)
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.
long StringIncrement(RedisKey key, long value = 1, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
longflags
CommandFlags
Returns
- long
the value of key after the increment
Remarks
StringLength(RedisKey, CommandFlags)
Returns the length of the string value stored at key.
long StringLength(RedisKey key, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyflags
CommandFlags
Returns
- long
the length of the string at key, or 0 when key does not exist.
Remarks
StringSet(RedisKey, RedisValue, TimeSpan?, When, CommandFlags)
Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type.
bool StringSet(RedisKey key, RedisValue value, TimeSpan? expiry = null, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyvalue
RedisValueexpiry
TimeSpan?when
Whenflags
CommandFlags
Returns
Remarks
StringSet(KeyValuePair<RedisKey, RedisValue>[], When, CommandFlags)
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.
bool StringSet(KeyValuePair<RedisKey, RedisValue>[] values, When when = When.Always, CommandFlags flags = CommandFlags.None)
Parameters
values
KeyValuePair<RedisKey, RedisValue>[]when
Whenflags
CommandFlags
Returns
- bool
True if the keys were set, else False
Remarks
StringSetBit(RedisKey, long, bool, CommandFlags)
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.
bool StringSetBit(RedisKey key, long offset, bool bit, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyoffset
longbit
boolflags
CommandFlags
Returns
- bool
the original bit value stored at offset.
Remarks
StringSetRange(RedisKey, long, RedisValue, CommandFlags)
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.
RedisValue StringSetRange(RedisKey key, long offset, RedisValue value, CommandFlags flags = CommandFlags.None)
Parameters
key
RedisKeyoffset
longvalue
RedisValueflags
CommandFlags
Returns
- RedisValue
the length of the string after it was modified by the command.