BinaryRedis

class BinaryRedis : BasicCommands , BinaryRedisCommands , AdvancedBinaryRedisCommands , BinaryScriptingCommands , Closeable {}

Constructors

this
this()
Undocumented in source.
this
this(string host)
Undocumented in source.
this
this(HostAndPort hp)
Undocumented in source.
this
this(string host, int port)
Undocumented in source.
this
this(string host, int port, bool ssl)
Undocumented in source.
this
this(string host, int port, int timeout)
Undocumented in source.
this
this(string host, int port, int timeout, bool ssl)
Undocumented in source.
this
this(string host, int port, int connectionTimeout, int soTimeout)
Undocumented in source.
this
this(string host, int port, int connectionTimeout, int soTimeout, bool ssl)
Undocumented in source.
this
this(RedisShardInfo shardInfo)
Undocumented in source.
this
this(HttpURI uri)
Undocumented in source.
this
this(HttpURI uri, int timeout)
Undocumented in source.
this
this(HttpURI uri, int connectionTimeout, int soTimeout)
Undocumented in source.

Members

Functions

append
Long append(const(ubyte)[] key, const(ubyte)[] value)

If the key already exists and is a string, this command appends the provided value at the end of the string. If the key does not exist it is created and set as an empty string, so APPEND will be very similar to SET in this special case. <p> Time complexity: O(1). The amortized time complexity is O(1) assuming the appended value is small and the already present value is of any size, since the dynamic string library used by Redis will double the free space available on every reallocation. @param key @param value @return Integer reply, specifically the total length of the string after the append operation.

auth
string auth(string password)

Request for authentication in a password protected Redis server. A Redis server can be instructed to require a password before to allow clients to issue commands. This is done using the requirepass directive in the Redis configuration file. If the password given by the client is correct the server replies with an OK status code reply and starts accepting commands from the client. Otherwise an error is returned and the clients needs to try a new password. Note that for the high performance nature of Redis it is possible to try a lot of passwords in parallel in very short time, so make sure to generate a strong and very long password so that this attack is infeasible. @param password @return Status code reply

bgrewriteaof
string bgrewriteaof()

Rewrite the append only file in background when it gets too big. Please for detailed information about the Redis Append Only File check the <a href="http://redis.io/topics/persistence#append-only-file">Append Only File Howto</a>. <p> BGREWRITEAOF rewrites the Append Only File in background when it gets too big. The Redis Append Only File is a Journal, so every operation modifying the dataset is logged in the Append Only File (and replayed at startup). This means that the Append Only File always grows. In order to rebuild its content the BGREWRITEAOF creates a new version of the append only file starting directly form the dataset in memory in order to guarantee the generation of the minimal number of commands needed to rebuild the database. <p> @return Status code reply

bgsave
string bgsave()

Asynchronously save the DB on disk. <p> Save the DB in background. The OK code is immediately returned. Redis forks, the parent continues to server the clients, the child saves the DB on disk then exit. A client my be able to check if the operation succeeded using the LASTSAVE command. @return Status code reply

bitcount
Long bitcount(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
bitcount
Long bitcount(const(ubyte)[] key, long start, long end)
Undocumented in source. Be warned that the author may not have intended to support it.
bitfield
List!(long) bitfield(const(ubyte)[] key, const(ubyte)[][] arguments)
Undocumented in source. Be warned that the author may not have intended to support it.
bitop
Long bitop(BitOP op, const(ubyte)[] destKey, const(ubyte)[][] srcKeys)
Undocumented in source. Be warned that the author may not have intended to support it.
bitpos
Long bitpos(const(ubyte)[] key, bool value)
Undocumented in source. Be warned that the author may not have intended to support it.
bitpos
Long bitpos(const(ubyte)[] key, bool value, BitPosParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
blpop
List!(const(ubyte)[]) blpop(const(ubyte)[][] args)
Undocumented in source. Be warned that the author may not have intended to support it.
blpop
List!(const(ubyte)[]) blpop(int timeout, const(ubyte)[][] keys)

BLPOP (and BRPOP) is a blocking list pop primitive. You can see this commands as blocking versions of LPOP and RPOP able to block if the specified keys don't exist or contain empty lists. <p> The following is a description of the exact semantic. We describe BLPOP but the two commands are identical, the only difference is that BLPOP pops the element from the left (head) of the list, and BRPOP pops from the right (tail). <p> <b>Non blocking behavior</b> <p> When BLPOP is called, if at least one of the specified keys contain a non empty list, an element is popped from the head of the list and returned to the caller together with the name of the key (BLPOP returns a two elements array, the first element is the key, the second the popped value). <p> Keys are scanned from left to right, so for instance if you issue BLPOP list1 list2 list3 0 against a dataset where list1 does not exist but list2 and list3 contain non empty lists, BLPOP guarantees to return an element from the list stored at list2 (since it is the first non empty list starting from the left). <p> <b>Blocking behavior</b> <p> If none of the specified keys exist or contain non empty lists, BLPOP blocks until some other client performs a LPUSH or an RPUSH operation against one of the lists. <p> Once new data is present on one of the lists, the client finally returns with the name of the key unblocking it and the popped value. <p> When blocking, if a non-zero timeout is specified, the client will unblock returning a nil special value if the specified amount of seconds passed without a push operation against at least one of the specified keys. <p> The timeout argument is interpreted as an integer value. A timeout of zero means instead to block forever. <p> <b>Multiple clients blocking for the same keys</b> <p> Multiple clients can block for the same key. They are put into a queue, so the first to be served will be the one that started to wait earlier, in a first-blpopping first-served fashion. <p> <b>blocking POP inside a MULTI/EXEC transaction</b> <p> BLPOP and BRPOP can be used with pipelining (sending multiple commands and reading the replies in batch), but it does not make sense to use BLPOP or BRPOP inside a MULTI/EXEC block (a Redis transaction). <p> The behavior of BLPOP inside MULTI/EXEC when the list is empty is to return a multi-bulk nil reply, exactly what happens when the timeout is reached. If you like science fiction, think at it like if inside MULTI/EXEC the time will flow at infinite speed :) <p> Time complexity: O(1) @see #brpop(int, const(ubyte)[]...) @param timeout @param keys @return BLPOP returns a two-elements array via a multi bulk reply in order to return both the unblocking key and the popped value. <p> When a non-zero timeout is specified, and the BLPOP operation timed out, the return value is a nil multi bulk reply. Most client values will return false or nil accordingly to the programming language used.

brpop
List!(const(ubyte)[]) brpop(const(ubyte)[][] args)
Undocumented in source. Be warned that the author may not have intended to support it.
brpop
List!(const(ubyte)[]) brpop(int timeout, const(ubyte)[][] keys)

BLPOP (and BRPOP) is a blocking list pop primitive. You can see this commands as blocking versions of LPOP and RPOP able to block if the specified keys don't exist or contain empty lists. <p> The following is a description of the exact semantic. We describe BLPOP but the two commands are identical, the only difference is that BLPOP pops the element from the left (head) of the list, and BRPOP pops from the right (tail). <p> <b>Non blocking behavior</b> <p> When BLPOP is called, if at least one of the specified keys contain a non empty list, an element is popped from the head of the list and returned to the caller together with the name of the key (BLPOP returns a two elements array, the first element is the key, the second the popped value). <p> Keys are scanned from left to right, so for instance if you issue BLPOP list1 list2 list3 0 against a dataset where list1 does not exist but list2 and list3 contain non empty lists, BLPOP guarantees to return an element from the list stored at list2 (since it is the first non empty list starting from the left). <p> <b>Blocking behavior</b> <p> If none of the specified keys exist or contain non empty lists, BLPOP blocks until some other client performs a LPUSH or an RPUSH operation against one of the lists. <p> Once new data is present on one of the lists, the client finally returns with the name of the key unblocking it and the popped value. <p> When blocking, if a non-zero timeout is specified, the client will unblock returning a nil special value if the specified amount of seconds passed without a push operation against at least one of the specified keys. <p> The timeout argument is interpreted as an integer value. A timeout of zero means instead to block forever. <p> <b>Multiple clients blocking for the same keys</b> <p> Multiple clients can block for the same key. They are put into a queue, so the first to be served will be the one that started to wait earlier, in a first-blpopping first-served fashion. <p> <b>blocking POP inside a MULTI/EXEC transaction</b> <p> BLPOP and BRPOP can be used with pipelining (sending multiple commands and reading the replies in batch), but it does not make sense to use BLPOP or BRPOP inside a MULTI/EXEC block (a Redis transaction). <p> The behavior of BLPOP inside MULTI/EXEC when the list is empty is to return a multi-bulk nil reply, exactly what happens when the timeout is reached. If you like science fiction, think at it like if inside MULTI/EXEC the time will flow at infinite speed :) <p> Time complexity: O(1) @see #blpop(int, const(ubyte)[]...) @param timeout @param keys @return BLPOP returns a two-elements array via a multi bulk reply in order to return both the unblocking key and the popped value. <p> When a non-zero timeout is specified, and the BLPOP operation timed out, the return value is a nil multi bulk reply. Most client values will return false or nil accordingly to the programming language used.

brpoplpush
const(ubyte)[] brpoplpush(const(ubyte)[] source, const(ubyte)[] destination, int timeout)

Pop a value from a list, push it to another list and return it; or block until one is available @param source @param destination @param timeout @return the element

checkIsInMultiOrPipeline
void checkIsInMultiOrPipeline()
Undocumented in source. Be warned that the author may not have intended to support it.
clientGetnameBinary
const(ubyte)[] clientGetnameBinary()
Undocumented in source. Be warned that the author may not have intended to support it.
clientKill
string clientKill(const(ubyte)[] ipPort)
Undocumented in source. Be warned that the author may not have intended to support it.
clientKill
Long clientKill(ClientKillParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
clientKill
string clientKill(string ip, int port)
Undocumented in source. Be warned that the author may not have intended to support it.
clientListBinary
const(ubyte)[] clientListBinary()
Undocumented in source. Be warned that the author may not have intended to support it.
clientPause
string clientPause(long timeout)
Undocumented in source. Be warned that the author may not have intended to support it.
clientSetname
string clientSetname(const(ubyte)[] name)
Undocumented in source. Be warned that the author may not have intended to support it.
close
void close()
Undocumented in source. Be warned that the author may not have intended to support it.
configGet
List!(const(ubyte)[]) configGet(const(ubyte)[] pattern)

Retrieve the configuration of a running Redis server. Not all the configuration parameters are supported. <p> CONFIG GET returns the current configuration parameters. This sub command only accepts a single argument, that is glob style pattern. All the configuration parameters matching this parameter are reported as a list of key-value pairs. <p> <b>Example:</b>

configResetStat
string configResetStat()

Reset the stats returned by INFO @return

configRewrite
string configRewrite()

The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflect the configuration currently used by the server, which may be different compared to the original one because of the use of the CONFIG SET command.

configSet
const(ubyte)[] configSet(const(ubyte)[] parameter, const(ubyte)[] value)

Alter the configuration of a running Redis server. Not all the configuration parameters are supported. <p> The list of configuration parameters supported by CONFIG SET can be obtained issuing a {@link #configGet(const(ubyte)[]) CONFIG GET *} command. <p> The configuration set using CONFIG SET is immediately loaded by the Redis server that will start acting as specified starting from the next command. <p> <b>Parameters value format</b> <p> The value of the configuration parameter is the same as the one of the same parameter in the Redis configuration file, with the following exceptions: <p> <ul> <li>The save parameter is a list of space-separated integers. Every pair of integers specify the time and number of changes limit to trigger a save. For instance the command CONFIG SET save "3600 10 60 10000" will configure the server to issue a background saving of the RDB file every 3600 seconds if there are at least 10 changes in the dataset, and every 60 seconds if there are at least 10000 changes. To completely disable automatic snapshots just set the parameter as an empty string. <li>All the integer parameters representing memory are returned and accepted only using bytes as unit. </ul> @param parameter @param value @return Status code reply

connect
void connect()
Undocumented in source. Be warned that the author may not have intended to support it.
dbSize
Long dbSize()

Return the number of keys in the currently selected database. @return Integer reply

decr
Long decr(const(ubyte)[] key)

Decrement the number stored at key by one. If the key does not exist or contains a value of a wrong type, set the key to the value of "0" before to perform the decrement operation. <p> INCR commands are limited to 64 bit signed integers. <p> Note: this is actually a string operation, that is, in Redis there are not "integer" types. Simply the string stored at the key is parsed as a base 10 64 bit signed integer, incremented, and then converted back as a string. <p> Time complexity: O(1) @see #incr(const(ubyte)[]) @see #incrBy(const(ubyte)[], long) @see #decrBy(const(ubyte)[], long) @param key @return Integer reply, this commands will reply with the new value of key after the increment.

decrBy
Long decrBy(const(ubyte)[] key, long decrement)

DECRBY work just like {@link #decr(const(ubyte)[]) INCR} but instead to decrement by 1 the decrement is integer. <p> INCR commands are limited to 64 bit signed integers. <p> Note: this is actually a string operation, that is, in Redis there are not "integer" types. Simply the string stored at the key is parsed as a base 10 64 bit signed integer, incremented, and then converted back as a string. <p> Time complexity: O(1) @see #incr(const(ubyte)[]) @see #decr(const(ubyte)[]) @see #incrBy(const(ubyte)[], long) @param key @param decrement @return Integer reply, this commands will reply with the new value of key after the increment.

del
Long del(const(ubyte)[][] keys)

Remove the specified keys. If a given key does not exist no operation is performed for this key. The command returns the number of keys removed. Time complexity: O(1) @param keys @return Integer reply, specifically: an integer greater than 0 if one or more keys were removed 0 if none of the specified key existed

del
Long del(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
dump
const(ubyte)[] dump(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
echo
const(ubyte)[] echo(const(ubyte)[] string)
Undocumented in source. Be warned that the author may not have intended to support it.
eval
Object eval(const(ubyte)[] script, List!(const(ubyte)[]) keys, List!(const(ubyte)[]) args)

Evaluates scripts using the Lua interpreter built into Redis starting from version 2.6.0. <p> @param script @param keys @param args @return Script result

eval
Object eval(const(ubyte)[] script, const(ubyte)[] keyCount, const(ubyte)[][] params)
Undocumented in source. Be warned that the author may not have intended to support it.
eval
Object eval(const(ubyte)[] script, int keyCount, const(ubyte)[][] params)
Undocumented in source. Be warned that the author may not have intended to support it.
eval
Object eval(const(ubyte)[] script)
Undocumented in source. Be warned that the author may not have intended to support it.
evalsha
Object evalsha(const(ubyte)[] sha1)
Undocumented in source. Be warned that the author may not have intended to support it.
evalsha
Object evalsha(const(ubyte)[] sha1, List!(const(ubyte)[]) keys, List!(const(ubyte)[]) args)
Undocumented in source. Be warned that the author may not have intended to support it.
evalsha
Object evalsha(const(ubyte)[] sha1, int keyCount, const(ubyte)[][] params)
Undocumented in source. Be warned that the author may not have intended to support it.
exists
Long exists(const(ubyte)[][] keys)

Test if the specified keys exist. The command returns the number of keys exist. Time complexity: O(N) @param keys @return Integer reply, specifically: an integer greater than 0 if one or more keys exist, 0 if none of the specified keys exist.

exists
bool exists(const(ubyte)[] key)

Test if the specified key exists. The command returns true if the key exists, otherwise false is returned. Note that even keys set with an empty string as value will return true. Time complexity: O(1) @param key @return bool reply, true if the key exists, otherwise false

expire
Long expire(const(ubyte)[] key, int seconds)

Set a timeout on the specified key. After the timeout the key will be automatically deleted by the server. A key with an associated timeout is said to be volatile in Redis terminology. <p> Volatile keys are stored on disk like the other keys, the timeout is persistent too like all the other aspects of the dataset. Saving a dataset containing expires and stopping the server does not stop the flow of time as Redis stores on disk the time when the key will no longer be available as Unix time, and not the remaining seconds. <p> Since Redis 2.1.3 you can update the value of the timeout of a key already having an expire set. It is also possible to undo the expire at all turning the key into a normal key using the {@link #persist(const(ubyte)[]) PERSIST} command. <p> Time complexity: O(1) @see <a href="http://redis.io/commands/expire">Expire Command</a> @param key @param seconds @return Integer reply, specifically: 1: the timeout was set. 0: the timeout was not set since the key already has an associated timeout (this may happen only in Redis versions &lt; 2.1.3, Redis &gt;= 2.1.3 will happily update the timeout), or the key does not exist.

expireAt
Long expireAt(const(ubyte)[] key, long unixTime)

EXPIREAT works exactly like {@link #expire(const(ubyte)[], int) EXPIRE} but instead to get the number of seconds representing the Time To Live of the key as a second argument (that is a relative way of specifying the TTL), it takes an absolute one in the form of a UNIX timestamp (Number of seconds elapsed since 1 Gen 1970). <p> EXPIREAT was introduced in order to implement the Append Only File persistence mode so that EXPIRE commands are automatically translated into EXPIREAT commands for the append only file. Of course EXPIREAT can also used by programmers that need a way to simply specify that a given key should expire at a given time in the future. <p> Since Redis 2.1.3 you can update the value of the timeout of a key already having an expire set. It is also possible to undo the expire at all turning the key into a normal key using the {@link #persist(const(ubyte)[]) PERSIST} command. <p> Time complexity: O(1) @see <a href="http://redis.io/commands/expire">Expire Command</a> @param key @param unixTime @return Integer reply, specifically: 1: the timeout was set. 0: the timeout was not set since the key already has an associated timeout (this may happen only in Redis versions &lt; 2.1.3, Redis &gt;= 2.1.3 will happily update the timeout), or the key does not exist.

flushAll
string flushAll()

Delete all the keys of all the existing databases, not just the currently selected one. This command never fails. @return Status code reply

flushDB
string flushDB()

Delete all the keys of the currently selected DB. This command never fails. @return Status code reply

geoadd
Long geoadd(const(ubyte)[] key, Map!(const(ubyte)[], GeoCoordinate) memberCoordinateMap)
Undocumented in source. Be warned that the author may not have intended to support it.
geoadd
Long geoadd(const(ubyte)[] key, double longitude, double latitude, const(ubyte)[] member)
Undocumented in source. Be warned that the author may not have intended to support it.
geodist
Double geodist(const(ubyte)[] key, const(ubyte)[] member1, const(ubyte)[] member2, GeoUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
geodist
Double geodist(const(ubyte)[] key, const(ubyte)[] member1, const(ubyte)[] member2)
Undocumented in source. Be warned that the author may not have intended to support it.
geohash
List!(const(ubyte)[]) geohash(const(ubyte)[] key, const(ubyte)[][] members)
Undocumented in source. Be warned that the author may not have intended to support it.
geopos
List!(GeoCoordinate) geopos(const(ubyte)[] key, const(ubyte)[][] members)
Undocumented in source. Be warned that the author may not have intended to support it.
georadius
List!(GeoRadiusResponse) georadius(const(ubyte)[] key, double longitude, double latitude, double radius, GeoUnit unit, GeoRadiusParam param)
Undocumented in source. Be warned that the author may not have intended to support it.
georadius
List!(GeoRadiusResponse) georadius(const(ubyte)[] key, double longitude, double latitude, double radius, GeoUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
georadiusByMember
List!(GeoRadiusResponse) georadiusByMember(const(ubyte)[] key, const(ubyte)[] member, double radius, GeoUnit unit, GeoRadiusParam param)
Undocumented in source. Be warned that the author may not have intended to support it.
georadiusByMember
List!(GeoRadiusResponse) georadiusByMember(const(ubyte)[] key, const(ubyte)[] member, double radius, GeoUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
georadiusByMemberReadonly
List!(GeoRadiusResponse) georadiusByMemberReadonly(const(ubyte)[] key, const(ubyte)[] member, double radius, GeoUnit unit, GeoRadiusParam param)
Undocumented in source. Be warned that the author may not have intended to support it.
georadiusByMemberReadonly
List!(GeoRadiusResponse) georadiusByMemberReadonly(const(ubyte)[] key, const(ubyte)[] member, double radius, GeoUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
georadiusReadonly
List!(GeoRadiusResponse) georadiusReadonly(const(ubyte)[] key, double longitude, double latitude, double radius, GeoUnit unit, GeoRadiusParam param)
Undocumented in source. Be warned that the author may not have intended to support it.
georadiusReadonly
List!(GeoRadiusResponse) georadiusReadonly(const(ubyte)[] key, double longitude, double latitude, double radius, GeoUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
get
const(ubyte)[] get(const(ubyte)[] key)

Get the value of the specified key. If the key does not exist the special value 'nil' is returned. If the value stored at key is not a string an error is returned because GET can only handle string values. <p> Time complexity: O(1) @param key @return Bulk reply

getClient
Client getClient()
Undocumented in source. Be warned that the author may not have intended to support it.
getDB
int getDB()
Undocumented in source. Be warned that the author may not have intended to support it.
getSet
const(ubyte)[] getSet(const(ubyte)[] key, const(ubyte)[] value)

GETSET is an atomic set this value and return the old value command. Set key to the string value and return the old value stored at key. The string can't be longer than 1073741824 bytes (1 GB). <p> Time complexity: O(1) @param key @param value @return Bulk reply

getTupledSet
Set!(Tuple) getTupledSet()
Undocumented in source. Be warned that the author may not have intended to support it.
getbit
bool getbit(const(ubyte)[] key, long offset)

Returns the bit value at offset in the string value stored at key @param key @param offset @return

getrange
const(ubyte)[] getrange(const(ubyte)[] key, long startOffset, long endOffset)
Undocumented in source. Be warned that the author may not have intended to support it.
hdel
Long hdel(const(ubyte)[] key, const(ubyte)[][] fields)

Remove the specified field from an hash stored at key. <p> <b>Time complexity:</b> O(1) @param key @param fields @return If the field was present in the hash it is deleted and 1 is returned, otherwise 0 is returned and no operation is performed.

hexists
bool hexists(const(ubyte)[] key, const(ubyte)[] field)

Test for existence of a specified field in a hash. <b>Time complexity:</b> O(1) @param key @param field @return Return true if the hash stored at key contains the specified field. Return false if the key is not found or the field is not present.

hget
const(ubyte)[] hget(const(ubyte)[] key, const(ubyte)[] field)

If key holds a hash, retrieve the value associated to the specified field. <p> If the field is not found or the key does not exist, a special 'nil' value is returned. <p> <b>Time complexity:</b> O(1) @param key @param field @return Bulk reply

hgetAll
Map!(const(ubyte)[], const(ubyte)[]) hgetAll(const(ubyte)[] key)

Return all the fields and associated values in a hash. <p> <b>Time complexity:</b> O(N), where N is the total number of entries @param key @return All the fields and values contained into a hash.

hincrBy
Long hincrBy(const(ubyte)[] key, const(ubyte)[] field, long value)

Increment the number stored at field in the hash at key by value. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string, the value is set to 0 before applying the operation. Since the value argument is signed you can use this command to perform both increments and decrements. <p> The range of values supported by HINCRBY is limited to 64 bit signed integers. <p> <b>Time complexity:</b> O(1) @param key @param field @param value @return Integer reply The new value at field after the increment operation.

hincrByFloat
Double hincrByFloat(const(ubyte)[] key, const(ubyte)[] field, double value)

Increment the number stored at field in the hash at key by a double precision floating point value. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string, the value is set to 0 before applying the operation. Since the value argument is signed you can use this command to perform both increments and decrements. <p> The range of values supported by HINCRBYFLOAT is limited to double precision floating point values. <p> <b>Time complexity:</b> O(1) @param key @param field @param value @return Double precision floating point reply The new value at field after the increment operation.

hkeys
Set!(const(ubyte)[]) hkeys(const(ubyte)[] key)

Return all the fields in a hash. <p> <b>Time complexity:</b> O(N), where N is the total number of entries @param key @return All the fields names contained into a hash.

hlen
Long hlen(const(ubyte)[] key)

Return the number of items in a hash. <p> <b>Time complexity:</b> O(1) @param key @return The number of entries (fields) contained in the hash stored at key. If the specified key does not exist, 0 is returned assuming an empty hash.

hmget
List!(const(ubyte)[]) hmget(const(ubyte)[] key, const(ubyte)[][] fields)

Retrieve the values associated to the specified fields. <p> If some of the specified fields do not exist, nil values are returned. Non existing keys are considered like empty hashes. <p> <b>Time complexity:</b> O(N) (with N being the number of fields) @param key @param fields @return Multi Bulk Reply specifically a list of all the values associated with the specified fields, in the same order of the request.

hmset
string hmset(const(ubyte)[] key, Map!(const(ubyte)[], const(ubyte)[]) hash)

Set the respective fields to the respective values. HMSET replaces old values with new values. <p> If key does not exist, a new key holding a hash is created. <p> <b>Time complexity:</b> O(N) (with N being the number of fields) @param key @param hash @return Always OK because HMSET can't fail

hscan
ScanResult!(MapEntry!(const(ubyte)[], const(ubyte)[])) hscan(const(ubyte)[] key, const(ubyte)[] cursor, ScanParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
hscan
ScanResult!(MapEntry!(const(ubyte)[], const(ubyte)[])) hscan(const(ubyte)[] key, const(ubyte)[] cursor)
Undocumented in source. Be warned that the author may not have intended to support it.
hset
Long hset(const(ubyte)[] key, const(ubyte)[] field, const(ubyte)[] value)

Set the specified hash field to the specified value. <p> If key does not exist, a new key holding a hash is created. <p> <b>Time complexity:</b> O(1) @param key @param field @param value @return If the field already exists, and the HSET just produced an update of the value, 0 is returned, otherwise if a new field is created 1 is returned.

hset
Long hset(const(ubyte)[] key, Map!(const(ubyte)[], const(ubyte)[]) hash)
Undocumented in source. Be warned that the author may not have intended to support it.
hsetnx
Long hsetnx(const(ubyte)[] key, const(ubyte)[] field, const(ubyte)[] value)

Set the specified hash field to the specified value if the field not exists. <b>Time complexity:</b> O(1) @param key @param field @param value @return If the field already exists, 0 is returned, otherwise if a new field is created 1 is returned.

hstrlen
Long hstrlen(const(ubyte)[] key, const(ubyte)[] field)
Undocumented in source. Be warned that the author may not have intended to support it.
hvals
List!(const(ubyte)[]) hvals(const(ubyte)[] key)

Return all the values in a hash. <p> <b>Time complexity:</b> O(N), where N is the total number of entries @param key @return All the fields values contained into a hash.

incr
Long incr(const(ubyte)[] key)

Increment the number stored at key by one. If the key does not exist or contains a value of a wrong type, set the key to the value of "0" before to perform the increment operation. <p> INCR commands are limited to 64 bit signed integers. <p> Note: this is actually a string operation, that is, in Redis there are not "integer" types. Simply the string stored at the key is parsed as a base 10 64 bit signed integer, incremented, and then converted back as a string. <p> Time complexity: O(1) @see #incrBy(const(ubyte)[], long) @see #decr(const(ubyte)[]) @see #decrBy(const(ubyte)[], long) @param key @return Integer reply, this commands will reply with the new value of key after the increment.

incrBy
Long incrBy(const(ubyte)[] key, long increment)

INCRBY work just like {@link #incr(const(ubyte)[]) INCR} but instead to increment by 1 the increment is integer. <p> INCR commands are limited to 64 bit signed integers. <p> Note: this is actually a string operation, that is, in Redis there are not "integer" types. Simply the string stored at the key is parsed as a base 10 64 bit signed integer, incremented, and then converted back as a string. <p> Time complexity: O(1) @see #incr(const(ubyte)[]) @see #decr(const(ubyte)[]) @see #decrBy(const(ubyte)[], long) @param key @param increment @return Integer reply, this commands will reply with the new value of key after the increment.

incrByFloat
Double incrByFloat(const(ubyte)[] key, double increment)

INCRBYFLOAT work just like {@link #incrBy(const(ubyte)[], long)} INCRBY} but increments by floats instead of integers. <p> INCRBYFLOAT commands are limited to double precision floating point values. <p> Note: this is actually a string operation, that is, in Redis there are not "double" types. Simply the string stored at the key is parsed as a base double precision floating point value, incremented, and then converted back as a string. There is no DECRYBYFLOAT but providing a negative value will work as expected. <p> Time complexity: O(1) @see #incr(const(ubyte)[]) @see #decr(const(ubyte)[]) @see #decrBy(const(ubyte)[], long) @param key the key to increment @param increment the value to increment by @return Integer reply, this commands will reply with the new value of key after the increment.

info
string info(string section)
Undocumented in source. Be warned that the author may not have intended to support it.
info
string info()

Provide information and statistics about the server. <p> The info command returns different information and statistics about the server in an format that's simple to parse by computers and easy to read by humans. <p> <b>Format of the returned string:</b> <p> All the fields are in the form field:value

isConnected
bool isConnected()
Undocumented in source. Be warned that the author may not have intended to support it.
keys
Set!(const(ubyte)[]) keys(const(ubyte)[] pattern)

Returns all the keys matching the glob-style pattern as space separated strings. For example if you have in the database the keys "foo" and "foobar" the command "KEYS foo*" will return "foo foobar". <p> Note that while the time complexity for this operation is O(n) the constant times are pretty low. For example Redis running on an entry level laptop can scan a 1 million keys database in 40 milliseconds. <b>Still it's better to consider this one of the slow commands that may ruin the DB performance if not used with care.</b> <p> In other words this command is intended only for debugging and special operations like creating a script to change the DB schema. Don't use it in your normal code. Use Redis Sets in order to group together a subset of objects. <p> Glob style patterns examples: <ul> <li>h?llo will match hello hallo hhllo <li>h*llo will match hllo heeeello <li>haello will match hello and hallo, but not hillo </ul> <p> Use \ to escape special chars if you want to match them verbatim. <p> Time complexity: O(n) (with n being the number of keys in the DB, and assuming keys and pattern of limited length) @param pattern @return Multi bulk reply

lastsave
Long lastsave()

Return the UNIX time stamp of the last successfully saving of the dataset on disk. <p> Return the UNIX TIME of the last DB save executed with success. A client may check if a {@link #bgsave() BGSAVE} command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. @return Integer reply, specifically an UNIX time stamp.

lindex
const(ubyte)[] lindex(const(ubyte)[] key, long index)

Return the specified element of the list stored at the specified key. 0 is the first element, 1 the second and so on. Negative indexes are supported, for example -1 is the last element, -2 the penultimate and so on. <p> If the value stored at key is not of list type an error is returned. If the index is out of range a 'nil' reply is returned. <p> Note that even if the average time complexity is O(n) asking for the first or the last element of the list is O(1). <p> Time complexity: O(n) (with n being the length of the list) @param key @param index @return Bulk reply, specifically the requested element

linsert
Long linsert(const(ubyte)[] key, ListPosition where, const(ubyte)[] pivot, const(ubyte)[] value)
Undocumented in source. Be warned that the author may not have intended to support it.
llen
Long llen(const(ubyte)[] key)

Return the length of the list stored at the specified key. If the key does not exist zero is returned (the same behaviour as for empty lists). If the value stored at key is not a list an error is returned. <p> Time complexity: O(1) @param key @return The length of the list.

lpop
const(ubyte)[] lpop(const(ubyte)[] key)

Atomically return and remove the first (LPOP) or last (RPOP) element of the list. For example if the list contains the elements "a","b","c" LPOP will return "a" and the list will become "b","c". <p> If the key does not exist or the list is already empty the special value 'nil' is returned. @see #rpop(const(ubyte)[]) @param key @return Bulk reply

lpush
Long lpush(const(ubyte)[] key, const(ubyte)[][] strings)

Add the string value to the head (LPUSH) or tail (RPUSH) of the list stored at key. If the key does not exist an empty list is created just before the append operation. If the key exists but is not a List an error is returned. <p> Time complexity: O(1) @see BinaryRedis#rpush(const(ubyte)[], const(ubyte)[]...) @param key @param strings @return Integer reply, specifically, the number of elements inside the list after the push operation.

lpushx
Long lpushx(const(ubyte)[] key, const(ubyte)[][] string)
Undocumented in source. Be warned that the author may not have intended to support it.
lrange
List!(const(ubyte)[]) lrange(const(ubyte)[] key, long start, long stop)

Return the specified elements of the list stored at the specified key. Start and end are zero-based indexes. 0 is the first element of the list (the list head), 1 the next element and so on. <p> For example LRANGE foobar 0 2 will return the first three elements of the list. <p> start and end can also be negative numbers indicating offsets from the end of the list. For example -1 is the last element of the list, -2 the penultimate element and so on. <p> <b>Consistency with range functions in various programming languages</b> <p> Note that if you have a list of numbers from 0 to 100, LRANGE 0 10 will return 11 elements, that is, rightmost item is included. This may or may not be consistent with behavior of range-related functions in your programming language of choice (think Ruby's Range.new, Array#slice or Python's range() function). <p> LRANGE behavior is consistent with one of Tcl. <p> <b>Out-of-range indexes</b> <p> Indexes out of range will not produce an error: if start is over the end of the list, or start &gt; end, an empty list is returned. If end is over the end of the list Redis will threat it just like the last element of the list. <p> Time complexity: O(start+n) (with n being the length of the range and start being the start offset) @param key @param start @param stop @return Multi bulk reply, specifically a list of elements in the specified range.

lrem
Long lrem(const(ubyte)[] key, long count, const(ubyte)[] value)

Remove the first count occurrences of the value element from the list. If count is zero all the elements are removed. If count is negative elements are removed from tail to head, instead to go from head to tail that is the normal behaviour. So for example LREM with count -2 and hello as value to remove against the list (a,b,c,hello,x,hello,hello) will leave the list (a,b,c,hello,x). The number of removed elements is returned as an integer, see below for more information about the returned value. Note that non existing keys are considered like empty lists by LREM, so LREM against non existing keys will always return 0. <p> Time complexity: O(N) (with N being the length of the list) @param key @param count @param value @return Integer Reply, specifically: The number of removed elements if the operation succeeded

lset
string lset(const(ubyte)[] key, long index, const(ubyte)[] value)

Set a new value as the element at index position of the List at key. <p> Out of range indexes will generate an error. <p> Similarly to other list commands accepting indexes, the index can be negative to access elements starting from the end of the list. So -1 is the last element, -2 is the penultimate, and so forth. <p> <b>Time complexity:</b> <p> O(N) (with N being the length of the list), setting the first or last elements of the list is O(1). @see #lindex(const(ubyte)[], long) @param key @param index @param value @return Status code reply

ltrim
string ltrim(const(ubyte)[] key, long start, long stop)

Trim an existing list so that it will contain only the specified range of elements specified. Start and end are zero-based indexes. 0 is the first element of the list (the list head), 1 the next element and so on. <p> For example LTRIM foobar 0 2 will modify the list stored at foobar key so that only the first three elements of the list will remain. <p> start and end can also be negative numbers indicating offsets from the end of the list. For example -1 is the last element of the list, -2 the penultimate element and so on. <p> Indexes out of range will not produce an error: if start is over the end of the list, or start &gt; end, an empty list is left as value. If end over the end of the list Redis will threat it just like the last element of the list. <p> Hint: the obvious use of LTRIM is together with LPUSH/RPUSH. For example: <p> {@code lpush("mylist", "someelement"); ltrim("mylist", 0, 99); * } <p> The above two commands will push elements in the list taking care that the list will not grow without limits. This is very useful when using Redis to store logs for example. It is important to note that when used in this way LTRIM is an O(1) operation because in the average case just one element is removed from the tail of the list. <p> Time complexity: O(n) (with n being len of list - len of range) @param key @param start @param stop @return Status code reply

memoryDoctorBinary
const(ubyte)[] memoryDoctorBinary()
Undocumented in source. Be warned that the author may not have intended to support it.
mget
List!(const(ubyte)[]) mget(const(ubyte)[][] keys)

Get the values of all the specified keys. If one or more keys don't exist or is not of type string, a 'nil' value is returned instead of the value of the specified key, but the operation never fails. <p> Time complexity: O(1) for every key @param keys @return Multi bulk reply

migrate
string migrate(string host, int port, int destinationDB, int timeout, MigrateParams params, const(ubyte)[][] keys)
Undocumented in source. Be warned that the author may not have intended to support it.
migrate
string migrate(string host, int port, const(ubyte)[] key, int destinationDb, int timeout)
Undocumented in source. Be warned that the author may not have intended to support it.
monitor
void monitor(RedisMonitor jedisMonitor)

Dump all the received requests in real time. <p> MONITOR is a debugging command that outputs the whole sequence of commands received by the Redis server. is very handy in order to understand what is happening into the database. This command is used directly via telnet. @param jedisMonitor

move
Long move(const(ubyte)[] key, int dbIndex)

Move the specified key from the currently selected DB to the specified destination DB. Note that this command returns 1 only if the key was successfully moved, and 0 if the target key was already there or if the source key was not found at all, so it is possible to use MOVE as a locking primitive. @param key @param dbIndex @return Integer reply, specifically: 1 if the key was moved 0 if the key was not moved because already present on the target DB or was not found in the current DB.

mset
string mset(const(ubyte)[][] keysvalues)

Set the the respective keys to the respective values. MSET will replace old values with new values, while {@link #msetnx(const(ubyte)[]...) MSETNX} will not perform any operation at all even if just a single key already exists. <p> Because of this semantic MSETNX can be used in order to set different keys representing different fields of an unique logic object in a way that ensures that either all the fields or none at all are set. <p> Both MSET and MSETNX are atomic operations. This means that for instance if the keys A and B are modified, another client talking to Redis can either see the changes to both A and B at once, or no modification at all. @see #msetnx(const(ubyte)[]...) @param keysvalues @return Status code reply Basically +OK as MSET can't fail

msetnx
Long msetnx(const(ubyte)[][] keysvalues)

Set the the respective keys to the respective values. {@link #mset(const(ubyte)[]...) MSET} will replace old values with new values, while MSETNX will not perform any operation at all even if just a single key already exists. <p> Because of this semantic MSETNX can be used in order to set different keys representing different fields of an unique logic object in a way that ensures that either all the fields or none at all are set. <p> Both MSET and MSETNX are atomic operations. This means that for instance if the keys A and B are modified, another client talking to Redis can either see the changes to both A and B at once, or no modification at all. @see #mset(const(ubyte)[]...) @param keysvalues @return Integer reply, specifically: 1 if the all the keys were set 0 if no key was set (at least one key already existed)

multi
Transaction multi()
Undocumented in source. Be warned that the author may not have intended to support it.
objectEncoding
const(ubyte)[] objectEncoding(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
objectIdletime
Long objectIdletime(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
objectRefcount
Long objectRefcount(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
persist
Long persist(const(ubyte)[] key)

Undo a {@link #expire(const(ubyte)[], int) expire} at turning the expire key into a normal key. <p> Time complexity: O(1) @param key @return Integer reply, specifically: 1: the key is now persist. 0: the key is not persist (only happens when key not set).

pexpire
Long pexpire(const(ubyte)[] key, long milliseconds)

Set a timeout on the specified key. After the timeout the key will be automatically deleted by the server. A key with an associated timeout is said to be volatile in Redis terminology. <p> Volatile keys are stored on disk like the other keys, the timeout is persistent too like all the other aspects of the dataset. Saving a dataset containing expires and stopping the server does not stop the flow of time as Redis stores on disk the time when the key will no longer be available as Unix time, and not the remaining milliseconds. <p> Since Redis 2.1.3 you can update the value of the timeout of a key already having an expire set. It is also possible to undo the expire at all turning the key into a normal key using the {@link #persist(const(ubyte)[]) PERSIST} command. <p> Time complexity: O(1) @see <a href="http://redis.io/commands/pexpire">PEXPIRE Command</a> @param key @param milliseconds @return Integer reply, specifically: 1: the timeout was set. 0: the timeout was not set since the key already has an associated timeout (this may happen only in Redis versions < 2.1.3, Redis >= 2.1.3 will happily update the timeout), or the key does not exist.

pexpireAt
Long pexpireAt(const(ubyte)[] key, long millisecondsTimestamp)
Undocumented in source. Be warned that the author may not have intended to support it.
pfadd
Long pfadd(const(ubyte)[] key, const(ubyte)[][] elements)
Undocumented in source. Be warned that the author may not have intended to support it.
pfcount
Long pfcount(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
pfcount
Long pfcount(const(ubyte)[][] keys)
Undocumented in source. Be warned that the author may not have intended to support it.
pfmerge
string pfmerge(const(ubyte)[] destkey, const(ubyte)[][] sourcekeys)
Undocumented in source. Be warned that the author may not have intended to support it.
ping
const(ubyte)[] ping(const(ubyte)[] message)

Works same as <tt>ping()</tt> but returns argument message instead of <tt>PONG</tt>. @param message @return message

ping
string ping()
Undocumented in source. Be warned that the author may not have intended to support it.
pipelined
Pipeline pipelined()
Undocumented in source. Be warned that the author may not have intended to support it.
psetex
string psetex(const(ubyte)[] key, long milliseconds, const(ubyte)[] value)

PSETEX works exactly like {@link #setex(const(ubyte)[], int, const(ubyte)[])} with the sole difference that the expire time is specified in milliseconds instead of seconds. Time complexity: O(1) @param key @param milliseconds @param value @return Status code reply

psubscribe
void psubscribe(BinaryRedisPubSub jedisPubSub, const(ubyte)[][] patterns)
Undocumented in source. Be warned that the author may not have intended to support it.
pttl
Long pttl(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
publish
Long publish(const(ubyte)[] channel, const(ubyte)[] message)
Undocumented in source. Be warned that the author may not have intended to support it.
quit
string quit()

Ask the server to silently close the connection.

randomBinaryKey
const(ubyte)[] randomBinaryKey()

Return a randomly selected key from the currently selected DB. <p> Time complexity: O(1) @return Single line reply, specifically the randomly selected key or an empty string is the database is empty

rename
string rename(const(ubyte)[] oldkey, const(ubyte)[] newkey)

Atomically renames the key oldkey to newkey. If the source and destination name are the same an error is returned. If newkey already exists it is overwritten. <p> Time complexity: O(1) @param oldkey @param newkey @return Status code repy

renamenx
Long renamenx(const(ubyte)[] oldkey, const(ubyte)[] newkey)

Rename oldkey into newkey but fails if the destination key newkey already exists. <p> Time complexity: O(1) @param oldkey @param newkey @return Integer reply, specifically: 1 if the key was renamed 0 if the target key already exist

resetState
void resetState()
Undocumented in source. Be warned that the author may not have intended to support it.
restore
string restore(const(ubyte)[] key, int ttl, const(ubyte)[] serializedValue)
Undocumented in source. Be warned that the author may not have intended to support it.
restoreReplace
string restoreReplace(const(ubyte)[] key, int ttl, const(ubyte)[] serializedValue)
Undocumented in source. Be warned that the author may not have intended to support it.
rpop
const(ubyte)[] rpop(const(ubyte)[] key)

Atomically return and remove the first (LPOP) or last (RPOP) element of the list. For example if the list contains the elements "a","b","c" LPOP will return "a" and the list will become "b","c". <p> If the key does not exist or the list is already empty the special value 'nil' is returned. @see #lpop(const(ubyte)[]) @param key @return Bulk reply

rpoplpush
const(ubyte)[] rpoplpush(const(ubyte)[] srckey, const(ubyte)[] dstkey)

Atomically return and remove the last (tail) element of the srckey list, and push the element as the first (head) element of the dstkey list. For example if the source list contains the elements "a","b","c" and the destination list contains the elements "foo","bar" after an RPOPLPUSH command the content of the two lists will be "a","b" and "c","foo","bar". <p> If the key does not exist or the list is already empty the special value 'nil' is returned. If the srckey and dstkey are the same the operation is equivalent to removing the last element from the list and pushing it as first element of the list, so it's a "list rotation" command. <p> Time complexity: O(1) @param srckey @param dstkey @return Bulk reply

rpush
Long rpush(const(ubyte)[] key, const(ubyte)[][] strings)

Add the string value to the head (LPUSH) or tail (RPUSH) of the list stored at key. If the key does not exist an empty list is created just before the append operation. If the key exists but is not a List an error is returned. <p> Time complexity: O(1) @see BinaryRedis#rpush(const(ubyte)[], const(ubyte)[]...) @param key @param strings @return Integer reply, specifically, the number of elements inside the list after the push operation.

rpushx
Long rpushx(const(ubyte)[] key, const(ubyte)[][] string)
Undocumented in source. Be warned that the author may not have intended to support it.
sadd
Long sadd(const(ubyte)[] key, const(ubyte)[][] members)

Add the specified member to the set value stored at key. If member is already a member of the set no operation is performed. If key does not exist a new set with the specified member as sole member is created. If the key exists but does not hold a set value an error is returned. <p> Time complexity O(1) @param key @param members @return Integer reply, specifically: 1 if the new element was added 0 if the element was already a member of the set

save
string save()

Synchronously save the DB on disk. <p> Save the whole dataset on disk (this means that all the databases are saved, as well as keys with an EXPIRE set (the expire is preserved). The server hangs while the saving is not completed, no connection is served in the meanwhile. An OK code is returned when the DB was fully stored in disk. <p> The background variant of this command is {@link #bgsave() BGSAVE} that is able to perform the saving in the background while the server continues serving other clients. <p> @return Status code reply

scan
ScanResult!(const(ubyte)[]) scan(const(ubyte)[] cursor)
Undocumented in source. Be warned that the author may not have intended to support it.
scan
ScanResult!(const(ubyte)[]) scan(const(ubyte)[] cursor, ScanParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
scard
Long scard(const(ubyte)[] key)

Return the set cardinality (number of elements). If the key does not exist 0 is returned, like for empty sets. @param key @return Integer reply, specifically: the cardinality (number of elements) of the set as an integer.

scriptExists
List!(long) scriptExists(const(ubyte)[][] sha1)
Undocumented in source. Be warned that the author may not have intended to support it.
scriptExists
long scriptExists(const(ubyte)[] sha1)
Undocumented in source. Be warned that the author may not have intended to support it.
scriptFlush
string scriptFlush()
Undocumented in source. Be warned that the author may not have intended to support it.
scriptKill
string scriptKill()
Undocumented in source. Be warned that the author may not have intended to support it.
scriptLoad
const(ubyte)[] scriptLoad(const(ubyte)[] script)
Undocumented in source. Be warned that the author may not have intended to support it.
sdiff
Set!(const(ubyte)[]) sdiff(const(ubyte)[][] keys)

Return the difference between the Set stored at key1 and all the Sets key2, ..., keyN <p> <b>Example:</b>

sdiffstore
Long sdiffstore(const(ubyte)[] dstkey, const(ubyte)[][] keys)

This command works exactly like {@link #sdiff(const(ubyte)[]...) SDIFF} but instead of being returned the resulting set is stored in dstkey. @param dstkey @param keys @return Status code reply

select
string select(int index)

Select the DB with having the specified zero-based numeric index. For default every new client connection is automatically selected to DB 0. @param index @return Status code reply

sendCommand
Object sendCommand(ProtocolCommand cmd, const(ubyte)[][] args)
Undocumented in source. Be warned that the author may not have intended to support it.
set
string set(const(ubyte)[] key, const(ubyte)[] value, SetParams params)

Set the string value as value of the key. The string can't be longer than 1073741824 bytes (1 GB). @param key @param value @param params @return Status code reply

set
string set(const(ubyte)[] key, const(ubyte)[] value)

Set the string value as value of the key. The string can't be longer than 1073741824 bytes (1 GB). <p> Time complexity: O(1) @param key @param value @return Status code reply

setbit
bool setbit(const(ubyte)[] key, long offset, bool value)

Sets or clears the bit at offset in the string value stored at key @param key @param offset @param value @return

setbit
bool setbit(const(ubyte)[] key, long offset, const(ubyte)[] value)
Undocumented in source. Be warned that the author may not have intended to support it.
setex
string setex(const(ubyte)[] key, int seconds, const(ubyte)[] value)

The command is exactly equivalent to the following group of commands: {@link #set(const(ubyte)[], const(ubyte)[]) SET} + {@link #expire(const(ubyte)[], int) EXPIRE}. The operation is atomic. <p> Time complexity: O(1) @param key @param seconds @param value @return Status code reply

setnx
Long setnx(const(ubyte)[] key, const(ubyte)[] value)

SETNX works exactly like {@link #set(const(ubyte)[], const(ubyte)[]) SET} with the only difference that if the key already exists no operation is performed. SETNX actually means "SET if Not eXists". <p> Time complexity: O(1) @param key @param value @return Integer reply, specifically: 1 if the key was set 0 if the key was not set

setrange
Long setrange(const(ubyte)[] key, long offset, const(ubyte)[] value)
Undocumented in source. Be warned that the author may not have intended to support it.
shutdown
string shutdown()

Synchronously save the DB on disk, then shutdown the server. <p> Stop all the clients, save the DB, then quit the server. This commands makes sure that the DB is switched off without the lost of any data. This is not guaranteed if the client uses simply {@link #save() SAVE} and then {@link #quit() QUIT} because other clients may alter the DB data between the two commands. @return Status code reply on error. On success nothing is returned since the server quits and the connection is closed.

sinter
Set!(const(ubyte)[]) sinter(const(ubyte)[][] keys)

Return the members of a set resulting from the intersection of all the sets hold at the specified keys. Like in {@link #lrange(const(ubyte)[], long, long)} LRANGE} the result is sent to the client as a multi-bulk reply (see the protocol specification for more information). If just a single key is specified, then this command produces the same result as {@link #smembers(const(ubyte)[]) SMEMBERS}. Actually SMEMBERS is just syntax sugar for SINTER. <p> Non existing keys are considered like empty sets, so if one of the keys is missing an empty set is returned (since the intersection with an empty set always is an empty set). <p> Time complexity O(N*M) worst case where N is the cardinality of the smallest set and M the number of sets @param keys @return Multi bulk reply, specifically the list of common elements.

sinterstore
Long sinterstore(const(ubyte)[] dstkey, const(ubyte)[][] keys)

This commanad works exactly like {@link #sinter(const(ubyte)[]...) SINTER} but instead of being returned the resulting set is stored as dstkey. <p> Time complexity O(N*M) worst case where N is the cardinality of the smallest set and M the number of sets @param dstkey @param keys @return Status code reply

sismember
bool sismember(const(ubyte)[] key, const(ubyte)[] member)

Return true if member is a member of the set stored at key, otherwise false is returned. <p> Time complexity O(1) @param key @param member @return bool reply, specifically: true if the element is a member of the set false if the element is not a member of the set OR if the key does not exist

slaveof
string slaveof(string host, int port)

Change the replication settings. <p> The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, the command SLAVEOF NO ONE will turn off the replication turning the Redis server into a MASTER. In the proper form SLAVEOF hostname port will make the server a slave of the specific server listening at the specified hostname and port. <p> If a server is already a slave of some master, SLAVEOF hostname port will stop the replication against the old server and start the synchronization against the new one discarding the old dataset. <p> The form SLAVEOF no one will stop replication turning the server into a MASTER but will not discard the replication. So if the old master stop working it is possible to turn the slave into a master and set the application to use the new master in read/write. Later when the other Redis server will be fixed it can be configured in order to work as slave. <p> @param host @param port @return Status code reply

slaveofNoOne
string slaveofNoOne()
Undocumented in source. Be warned that the author may not have intended to support it.
slowlogGetBinary
List!(const(ubyte)[]) slowlogGetBinary()
Undocumented in source. Be warned that the author may not have intended to support it.
slowlogGetBinary
List!(const(ubyte)[]) slowlogGetBinary(long entries)
Undocumented in source. Be warned that the author may not have intended to support it.
slowlogLen
Long slowlogLen()
Undocumented in source. Be warned that the author may not have intended to support it.
slowlogReset
string slowlogReset()
Undocumented in source. Be warned that the author may not have intended to support it.
smembers
Set!(const(ubyte)[]) smembers(const(ubyte)[] key)

Return all the members (elements) of the set value stored at key. This is just syntax glue for {@link #sinter(const(ubyte)[]...)} SINTER}. <p> Time complexity O(N) @param key the key of the set @return Multi bulk reply

smove
Long smove(const(ubyte)[] srckey, const(ubyte)[] dstkey, const(ubyte)[] member)

Move the specified member from the set at srckey to the set at dstkey. This operation is atomic, in every given moment the element will appear to be in the source or destination set for accessing clients. <p> If the source set does not exist or does not contain the specified element no operation is performed and zero is returned, otherwise the element is removed from the source set and added to the destination set. On success one is returned, even if the element was already present in the destination set. <p> An error is raised if the source or destination keys contain a non Set value. <p> Time complexity O(1) @param srckey @param dstkey @param member @return Integer reply, specifically: 1 if the element was moved 0 if the element was not found on the first set and no operation was performed

sort
Long sort(const(ubyte)[] key, const(ubyte)[] dstkey)

Sort a Set or a List and Store the Result at dstkey. <p> Sort the elements contained in the List, Set, or Sorted Set value at key and store the result at dstkey. By default sorting is numeric with elements being compared as double precision floating point numbers. This is the simplest form of SORT. @see #sort(const(ubyte)[]) @see #sort(const(ubyte)[], SortingParams) @see #sort(const(ubyte)[], SortingParams, const(ubyte)[]) @param key @param dstkey @return The number of elements of the list at dstkey.

sort
Long sort(const(ubyte)[] key, SortingParams sortingParameters, const(ubyte)[] dstkey)

Sort a Set or a List accordingly to the specified parameters and store the result at dstkey. @see #sort(const(ubyte)[], SortingParams) @see #sort(const(ubyte)[]) @see #sort(const(ubyte)[], const(ubyte)[]) @param key @param sortingParameters @param dstkey @return The number of elements of the list at dstkey.

sort
List!(const(ubyte)[]) sort(const(ubyte)[] key, SortingParams sortingParameters)

Sort a Set or a List accordingly to the specified parameters. <p> <b>examples:</b> <p> Given are the following sets and key/values:

sort
List!(const(ubyte)[]) sort(const(ubyte)[] key)

Sort a Set or a List. <p> Sort the elements contained in the List, Set, or Sorted Set value at key. By default sorting is numeric with elements being compared as double precision floating point numbers. This is the simplest form of SORT. @see #sort(const(ubyte)[], const(ubyte)[]) @see #sort(const(ubyte)[], SortingParams) @see #sort(const(ubyte)[], SortingParams, const(ubyte)[]) @param key @return Assuming the Set/List at key contains a list of numbers, the return value will be the list of numbers ordered from the smallest to the biggest number.

spop
Set!(const(ubyte)[]) spop(const(ubyte)[] key, long count)
Undocumented in source. Be warned that the author may not have intended to support it.
spop
const(ubyte)[] spop(const(ubyte)[] key)

Remove a random element from a Set returning it as return value. If the Set is empty or the key does not exist, a nil object is returned. <p> The {@link #srandmember(const(ubyte)[])} command does a similar work but the returned element is not removed from the Set. <p> Time complexity O(1) @param key @return Bulk reply

srandmember
List!(const(ubyte)[]) srandmember(const(ubyte)[] key, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
srandmember
const(ubyte)[] srandmember(const(ubyte)[] key)

Return a random element from a Set, without removing the element. If the Set is empty or the key does not exist, a nil object is returned. <p> The SPOP command does a similar work but the returned element is popped (removed) from the Set. <p> Time complexity O(1) @param key @return Bulk reply

srem
Long srem(const(ubyte)[] key, const(ubyte)[][] member)

Remove the specified member from the set value stored at key. If member was not a member of the set no operation is performed. If key does not hold a set value an error is returned. <p> Time complexity O(1) @param key the key of the set @param member the set member to remove @return Integer reply, specifically: 1 if the new element was removed 0 if the new element was not a member of the set

sscan
ScanResult!(const(ubyte)[]) sscan(const(ubyte)[] key, const(ubyte)[] cursor)
Undocumented in source. Be warned that the author may not have intended to support it.
sscan
ScanResult!(const(ubyte)[]) sscan(const(ubyte)[] key, const(ubyte)[] cursor, ScanParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
strlen
Long strlen(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
subscribe
void subscribe(BinaryRedisPubSub jedisPubSub, const(ubyte)[][] channels)
Undocumented in source. Be warned that the author may not have intended to support it.
substr
const(ubyte)[] substr(const(ubyte)[] key, int start, int end)

Return a subset of the string from offset start to offset end (both offsets 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 char, -2 the penultimate and so forth. <p> The function handles out of range requests without raising an error, but just limiting the resulting range to the actual length of the string. <p> Time complexity: O(start+n) (with start being the start index and n the total length of the requested range). Note that the lookup part of this command is O(1) so for small strings this is actually an O(1) command. @param key @param start @param end @return Bulk reply

sunion
Set!(const(ubyte)[]) sunion(const(ubyte)[][] keys)

Return the members of a set resulting from the union of all the sets hold at the specified keys. Like in {@link #lrange(const(ubyte)[], long, long)} LRANGE} the result is sent to the client as a multi-bulk reply (see the protocol specification for more information). If just a single key is specified, then this command produces the same result as {@link #smembers(const(ubyte)[]) SMEMBERS}. <p> Non existing keys are considered like empty sets. <p> Time complexity O(N) where N is the total number of elements in all the provided sets @param keys @return Multi bulk reply, specifically the list of common elements.

sunionstore
Long sunionstore(const(ubyte)[] dstkey, const(ubyte)[][] keys)

This command works exactly like {@link #sunion(const(ubyte)[]...) SUNION} but instead of being returned the resulting set is stored as dstkey. Any existing value in dstkey will be over-written. <p> Time complexity O(N) where N is the total number of elements in all the provided sets @param dstkey @param keys @return Status code reply

swapDB
string swapDB(int index1, int index2)
Undocumented in source. Be warned that the author may not have intended to support it.
sync
void sync()
Undocumented in source. Be warned that the author may not have intended to support it.
time
List!(string) time()
Undocumented in source. Be warned that the author may not have intended to support it.
toString
string toString()
Undocumented in source. Be warned that the author may not have intended to support it.
touch
Long touch(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
touch
Long touch(const(ubyte)[][] keys)

Alters the last access time of a key(s). A key is ignored if it does not exist. Time complexity: O(N) where N is the number of keys that will be touched. @param keys @return Integer reply: The number of keys that were touched.

ttl
Long ttl(const(ubyte)[] key)

The TTL command returns the remaining time to live in seconds of a key that has an {@link #expire(const(ubyte)[], int) EXPIRE} set. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. @param key @return Integer reply, returns the remaining time to live in seconds of a key that has an EXPIRE. If the Key does not exists or does not have an associated expire, -1 is returned.

type
string type(const(ubyte)[] key)

Return the type of the value stored at key in form of a string. The type can be one of "none", "string", "list", "set". "none" is returned if the key does not exist. Time complexity: O(1) @param key @return Status code reply, specifically: "none" if the key does not exist "string" if the key contains a string value "list" if the key contains a List value "set" if the key contains a Set value "zset" if the key contains a Sorted Set value "hash" if the key contains a Hash value

unlink
Long unlink(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
unlink
Long unlink(const(ubyte)[][] keys)

This command is very similar to DEL: it removes the specified keys. Just like DEL a key is ignored if it does not exist. However the command performs the actual memory reclaiming in a different thread, so it is not blocking, while DEL is. This is where the command name comes from: the command just unlinks the keys from the keyspace. The actual removal will happen later asynchronously. <p> Time complexity: O(1) for each key removed regardless of its size. Then the command does O(N) work in a different thread in order to reclaim memory, where N is the number of allocations the deleted objects where composed of. @param keys @return Integer reply: The number of keys that were unlinked

unwatch
string unwatch()
Undocumented in source. Be warned that the author may not have intended to support it.
waitReplicas
Long waitReplicas(int replicas, long timeout)

Syncrhonous replication of Redis as described here: http://antirez.com/news/66 Since Java Object class has implemented "wait" method, we cannot use it, so I had to change the name of the method. Sorry :S

watch
string watch(const(ubyte)[][] keys)
Undocumented in source. Be warned that the author may not have intended to support it.
xack
Long xack(const(ubyte)[] key, const(ubyte)[] group, const(ubyte)[][] ids)
Undocumented in source. Be warned that the author may not have intended to support it.
xadd
const(ubyte)[] xadd(const(ubyte)[] key, const(ubyte)[] id, Map!(const(ubyte)[], const(ubyte)[]) hash, long maxLen, bool approximateLength)
Undocumented in source. Be warned that the author may not have intended to support it.
xclaim
List!(const(ubyte)[]) xclaim(const(ubyte)[] key, const(ubyte)[] groupname, const(ubyte)[] consumername, long minIdleTime, long newIdleTime, int retries, bool force, const(ubyte)[][] ids)
Undocumented in source. Be warned that the author may not have intended to support it.
xdel
Long xdel(const(ubyte)[] key, const(ubyte)[][] ids)
Undocumented in source. Be warned that the author may not have intended to support it.
xgroupCreate
string xgroupCreate(const(ubyte)[] key, const(ubyte)[] consumer, const(ubyte)[] id, bool makeStream)
Undocumented in source. Be warned that the author may not have intended to support it.
xgroupDelConsumer
string xgroupDelConsumer(const(ubyte)[] key, const(ubyte)[] consumer, const(ubyte)[] consumerName)
Undocumented in source. Be warned that the author may not have intended to support it.
xgroupDestroy
Long xgroupDestroy(const(ubyte)[] key, const(ubyte)[] consumer)
Undocumented in source. Be warned that the author may not have intended to support it.
xgroupSetID
string xgroupSetID(const(ubyte)[] key, const(ubyte)[] consumer, const(ubyte)[] id)
Undocumented in source. Be warned that the author may not have intended to support it.
xlen
Long xlen(const(ubyte)[] key)
Undocumented in source. Be warned that the author may not have intended to support it.
xpending
List!(const(ubyte)[]) xpending(const(ubyte)[] key, const(ubyte)[] groupname, const(ubyte)[] start, const(ubyte)[] end, int count, const(ubyte)[] consumername)
Undocumented in source. Be warned that the author may not have intended to support it.
xrange
List!(const(ubyte)[]) xrange(const(ubyte)[] key, const(ubyte)[] start, const(ubyte)[] end, long count)
Undocumented in source. Be warned that the author may not have intended to support it.
xread
List!(const(ubyte)[]) xread(int count, long block, Map!(const(ubyte)[], const(ubyte)[]) streams)
Undocumented in source. Be warned that the author may not have intended to support it.
xreadGroup
List!(const(ubyte)[]) xreadGroup(const(ubyte)[] groupname, const(ubyte)[] consumer, int count, long block, bool noAck, Map!(const(ubyte)[], const(ubyte)[]) streams)
Undocumented in source. Be warned that the author may not have intended to support it.
xrevrange
List!(const(ubyte)[]) xrevrange(const(ubyte)[] key, const(ubyte)[] end, const(ubyte)[] start, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
xtrim
Long xtrim(const(ubyte)[] key, long maxLen, bool approximateLength)
Undocumented in source. Be warned that the author may not have intended to support it.
zadd
Long zadd(const(ubyte)[] key, Map!(const(ubyte)[], double) scoreMembers, ZAddParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
zadd
Long zadd(const(ubyte)[] key, Map!(const(ubyte)[], double) scoreMembers)
Undocumented in source. Be warned that the author may not have intended to support it.
zadd
Long zadd(const(ubyte)[] key, double score, const(ubyte)[] member, ZAddParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
zadd
Long zadd(const(ubyte)[] key, double score, const(ubyte)[] member)

Add the specified member having the specified score to the sorted set stored at key. If member is already a member of the sorted set the score is updated, and the element reinserted in the right position to ensure sorting. If key does not exist a new sorted set with the specified member as sole member is created. If the key exists but does not hold a sorted set value an error is returned. <p> The score value can be the string representation of a double precision floating point number. <p> Time complexity O(log(N)) with N being the number of elements in the sorted set @param key @param score @param member @return Integer reply, specifically: 1 if the new element was added 0 if the element was already a member of the sorted set and the score was updated

zcard
Long zcard(const(ubyte)[] key)

Return the sorted set cardinality (number of elements). If the key does not exist 0 is returned, like for empty sorted sets. <p> Time complexity O(1) @param key @return the cardinality (number of elements) of the set as an integer.

zcount
Long zcount(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max)
Undocumented in source. Be warned that the author may not have intended to support it.
zcount
Long zcount(const(ubyte)[] key, double min, double max)
Undocumented in source. Be warned that the author may not have intended to support it.
zincrby
double zincrby(const(ubyte)[] key, double increment, const(ubyte)[] member, ZIncrByParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
zincrby
double zincrby(const(ubyte)[] key, double increment, const(ubyte)[] member)

If member already exists in the sorted set adds the increment to its score and updates the position of the element in the sorted set accordingly. If member does not already exist in the sorted set it is added with increment as score (that is, like if the previous score was virtually zero). If key does not exist a new sorted set with the specified member as sole member is created. If the key exists but does not hold a sorted set value an error is returned. <p> The score value can be the string representation of a double precision floating point number. It's possible to provide a negative value to perform a decrement. <p> For an introduction to sorted sets check the Introduction to Redis data types page. <p> Time complexity O(log(N)) with N being the number of elements in the sorted set @param key @param increment @param member @return The new score

zinterstore
Long zinterstore(const(ubyte)[] dstkey, ZParams params, const(ubyte)[][] sets)

Creates a union or intersection of N sorted sets given by keys k1 through kN, and stores it at dstkey. It is mandatory to provide the number of input keys N, before passing the input keys and the other (optional) arguments. <p> As the terms imply, the {@link #zinterstore(const(ubyte)[], const(ubyte)[]...) ZINTERSTORE} command requires an element to be present in each of the given inputs to be inserted in the result. The {@link #zunionstore(const(ubyte)[], const(ubyte)[]...) ZUNIONSTORE} command inserts all elements across all inputs. <p> Using the WEIGHTS option, it is possible to add weight to each input sorted set. This means that the score of each element in the sorted set is first multiplied by this weight before being passed to the aggregation. When this option is not given, all weights default to 1. <p> With the AGGREGATE option, it's possible to specify how the results of the union or intersection are aggregated. This option defaults to SUM, where the score of an element is summed across the inputs where it exists. When this option is set to be either MIN or MAX, the resulting set will contain the minimum or maximum score of an element across the inputs where it exists. <p> <b>Time complexity:</b> O(N) + O(M log(M)) with N being the sum of the sizes of the input sorted sets, and M being the number of elements in the resulting sorted set @see #zunionstore(const(ubyte)[], const(ubyte)[]...) @see #zunionstore(const(ubyte)[], ZParams, const(ubyte)[]...) @see #zinterstore(const(ubyte)[], const(ubyte)[]...) @see #zinterstore(const(ubyte)[], ZParams, const(ubyte)[]...) @param dstkey @param sets @param params @return Integer reply, specifically the number of elements in the sorted set at dstkey

zinterstore
Long zinterstore(const(ubyte)[] dstkey, const(ubyte)[][] sets)

Creates a union or intersection of N sorted sets given by keys k1 through kN, and stores it at dstkey. It is mandatory to provide the number of input keys N, before passing the input keys and the other (optional) arguments. <p> As the terms imply, the {@link #zinterstore(const(ubyte)[], const(ubyte)[]...) ZINTERSTORE} command requires an element to be present in each of the given inputs to be inserted in the result. The {@link #zunionstore(const(ubyte)[], const(ubyte)[]...) ZUNIONSTORE} command inserts all elements across all inputs. <p> Using the WEIGHTS option, it is possible to add weight to each input sorted set. This means that the score of each element in the sorted set is first multiplied by this weight before being passed to the aggregation. When this option is not given, all weights default to 1. <p> With the AGGREGATE option, it's possible to specify how the results of the union or intersection are aggregated. This option defaults to SUM, where the score of an element is summed across the inputs where it exists. When this option is set to be either MIN or MAX, the resulting set will contain the minimum or maximum score of an element across the inputs where it exists. <p> <b>Time complexity:</b> O(N) + O(M log(M)) with N being the sum of the sizes of the input sorted sets, and M being the number of elements in the resulting sorted set @see #zunionstore(const(ubyte)[], const(ubyte)[]...) @see #zunionstore(const(ubyte)[], ZParams, const(ubyte)[]...) @see #zinterstore(const(ubyte)[], const(ubyte)[]...) @see #zinterstore(const(ubyte)[], ZParams, const(ubyte)[]...) @param dstkey @param sets @return Integer reply, specifically the number of elements in the sorted set at dstkey

zlexcount
Long zlexcount(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max)
Undocumented in source. Be warned that the author may not have intended to support it.
zrange
const(ubyte)[][] zrange(const(ubyte)[] key, long start, long stop)
Undocumented in source. Be warned that the author may not have intended to support it.
zrangeByLex
Set!(const(ubyte)[]) zrangeByLex(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrangeByLex
Set!(const(ubyte)[]) zrangeByLex(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max)
Undocumented in source. Be warned that the author may not have intended to support it.
zrangeByScore
Set!(const(ubyte)[]) zrangeByScore(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrangeByScore
Set!(const(ubyte)[]) zrangeByScore(const(ubyte)[] key, double min, double max, int offset, int count)

Return the all the elements in the sorted set at key with a score between min and max (including elements with score equal to min or max). <p> The elements having the same score are returned sorted lexicographically as ASCII strings (this follows from a property of Redis sorted sets and does not involve further computation). <p> Using the optional {@link #zrangeByScore(const(ubyte)[], double, double, int, int) LIMIT} it's possible to get only a range of the matching elements in an SQL-alike way. Note that if offset is large the commands needs to traverse the list for offset elements and this adds up to the O(M) figure. <p> The {@link #zcount(const(ubyte)[], double, double) ZCOUNT} command is similar to {@link #zrangeByScore(const(ubyte)[], double, double) ZRANGEBYSCORE} but instead of returning the actual elements in the specified interval, it just returns the number of matching elements. <p> <b>Exclusive intervals and infinity</b> <p> min and max can be -inf and +inf, so that you are not required to know what's the greatest or smallest element in order to take, for instance, elements "up to a given value". <p> Also while the interval is for default closed (inclusive) it's possible to specify open intervals prefixing the score with a "(" character, so for instance: <p> {@code ZRANGEBYSCORE zset (1.3 5} <p> Will return all the values with score &gt; 1.3 and &lt;= 5, while for instance: <p> {@code ZRANGEBYSCORE zset (5 (10} <p> Will return all the values with score &gt; 5 and &lt; 10 (5 and 10 excluded). <p> <b>Time complexity:</b> <p> O(log(N))+O(M) with N being the number of elements in the sorted set and M the number of elements returned by the command, so if M is constant (for instance you always ask for the first ten elements with LIMIT) you can consider it O(log(N)) @see #zrangeByScore(const(ubyte)[], double, double) @see #zrangeByScore(const(ubyte)[], double, double, int, int) @see #zrangeByScoreWithScores(const(ubyte)[], double, double) @see #zrangeByScoreWithScores(const(ubyte)[], double, double, int, int) @see #zcount(const(ubyte)[], double, double) @param key @param min @param max @param offset @param count @return Multi bulk reply specifically a list of elements in the specified score range.

zrangeByScore
Set!(const(ubyte)[]) zrangeByScore(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max)
Undocumented in source. Be warned that the author may not have intended to support it.
zrangeByScore
Set!(const(ubyte)[]) zrangeByScore(const(ubyte)[] key, double min, double max)

Return the all the elements in the sorted set at key with a score between min and max (including elements with score equal to min or max). <p> The elements having the same score are returned sorted lexicographically as ASCII strings (this follows from a property of Redis sorted sets and does not involve further computation). <p> Using the optional {@link #zrangeByScore(const(ubyte)[], double, double, int, int) LIMIT} it's possible to get only a range of the matching elements in an SQL-alike way. Note that if offset is large the commands needs to traverse the list for offset elements and this adds up to the O(M) figure. <p> The {@link #zcount(const(ubyte)[], double, double) ZCOUNT} command is similar to {@link #zrangeByScore(const(ubyte)[], double, double) ZRANGEBYSCORE} but instead of returning the actual elements in the specified interval, it just returns the number of matching elements. <p> <b>Exclusive intervals and infinity</b> <p> min and max can be -inf and +inf, so that you are not required to know what's the greatest or smallest element in order to take, for instance, elements "up to a given value". <p> Also while the interval is for default closed (inclusive) it's possible to specify open intervals prefixing the score with a "(" character, so for instance: <p> {@code ZRANGEBYSCORE zset (1.3 5} <p> Will return all the values with score &gt; 1.3 and &lt;= 5, while for instance: <p> {@code ZRANGEBYSCORE zset (5 (10} <p> Will return all the values with score &gt; 5 and &lt; 10 (5 and 10 excluded). <p> <b>Time complexity:</b> <p> O(log(N))+O(M) with N being the number of elements in the sorted set and M the number of elements returned by the command, so if M is constant (for instance you always ask for the first ten elements with LIMIT) you can consider it O(log(N)) @see #zrangeByScore(const(ubyte)[], double, double) @see #zrangeByScore(const(ubyte)[], double, double, int, int) @see #zrangeByScoreWithScores(const(ubyte)[], double, double) @see #zrangeByScoreWithScores(const(ubyte)[], double, double, int, int) @see #zcount(const(ubyte)[], double, double) @param key @param min @param max @return Multi bulk reply specifically a list of elements in the specified score range.

zrangeByScoreWithScores
Set!(Tuple) zrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrangeByScoreWithScores
Set!(Tuple) zrangeByScoreWithScores(const(ubyte)[] key, double min, double max, int offset, int count)

Return the all the elements in the sorted set at key with a score between min and max (including elements with score equal to min or max). <p> The elements having the same score are returned sorted lexicographically as ASCII strings (this follows from a property of Redis sorted sets and does not involve further computation). <p> Using the optional {@link #zrangeByScore(const(ubyte)[], double, double, int, int) LIMIT} it's possible to get only a range of the matching elements in an SQL-alike way. Note that if offset is large the commands needs to traverse the list for offset elements and this adds up to the O(M) figure. <p> The {@link #zcount(const(ubyte)[], double, double) ZCOUNT} command is similar to {@link #zrangeByScore(const(ubyte)[], double, double) ZRANGEBYSCORE} but instead of returning the actual elements in the specified interval, it just returns the number of matching elements. <p> <b>Exclusive intervals and infinity</b> <p> min and max can be -inf and +inf, so that you are not required to know what's the greatest or smallest element in order to take, for instance, elements "up to a given value". <p> Also while the interval is for default closed (inclusive) it's possible to specify open intervals prefixing the score with a "(" character, so for instance: <p> {@code ZRANGEBYSCORE zset (1.3 5} <p> Will return all the values with score &gt; 1.3 and &lt;= 5, while for instance: <p> {@code ZRANGEBYSCORE zset (5 (10} <p> Will return all the values with score &gt; 5 and &lt; 10 (5 and 10 excluded). <p> <b>Time complexity:</b> <p> O(log(N))+O(M) with N being the number of elements in the sorted set and M the number of elements returned by the command, so if M is constant (for instance you always ask for the first ten elements with LIMIT) you can consider it O(log(N)) @see #zrangeByScore(const(ubyte)[], double, double) @see #zrangeByScore(const(ubyte)[], double, double, int, int) @see #zrangeByScoreWithScores(const(ubyte)[], double, double) @see #zrangeByScoreWithScores(const(ubyte)[], double, double, int, int) @see #zcount(const(ubyte)[], double, double) @param key @param min @param max @param offset @param count @return Multi bulk reply specifically a list of elements in the specified score range.

zrangeByScoreWithScores
Set!(Tuple) zrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max)
Undocumented in source. Be warned that the author may not have intended to support it.
zrangeByScoreWithScores
Set!(Tuple) zrangeByScoreWithScores(const(ubyte)[] key, double min, double max)

Return the all the elements in the sorted set at key with a score between min and max (including elements with score equal to min or max). <p> The elements having the same score are returned sorted lexicographically as ASCII strings (this follows from a property of Redis sorted sets and does not involve further computation). <p> Using the optional {@link #zrangeByScore(const(ubyte)[], double, double, int, int) LIMIT} it's possible to get only a range of the matching elements in an SQL-alike way. Note that if offset is large the commands needs to traverse the list for offset elements and this adds up to the O(M) figure. <p> The {@link #zcount(const(ubyte)[], double, double) ZCOUNT} command is similar to {@link #zrangeByScore(const(ubyte)[], double, double) ZRANGEBYSCORE} but instead of returning the actual elements in the specified interval, it just returns the number of matching elements. <p> <b>Exclusive intervals and infinity</b> <p> min and max can be -inf and +inf, so that you are not required to know what's the greatest or smallest element in order to take, for instance, elements "up to a given value". <p> Also while the interval is for default closed (inclusive) it's possible to specify open intervals prefixing the score with a "(" character, so for instance: <p> {@code ZRANGEBYSCORE zset (1.3 5} <p> Will return all the values with score &gt; 1.3 and &lt;= 5, while for instance: <p> {@code ZRANGEBYSCORE zset (5 (10} <p> Will return all the values with score &gt; 5 and &lt; 10 (5 and 10 excluded). <p> <b>Time complexity:</b> <p> O(log(N))+O(M) with N being the number of elements in the sorted set and M the number of elements returned by the command, so if M is constant (for instance you always ask for the first ten elements with LIMIT) you can consider it O(log(N)) @see #zrangeByScore(const(ubyte)[], double, double) @see #zrangeByScore(const(ubyte)[], double, double, int, int) @see #zrangeByScoreWithScores(const(ubyte)[], double, double) @see #zrangeByScoreWithScores(const(ubyte)[], double, double, int, int) @see #zcount(const(ubyte)[], double, double) @param key @param min @param max @return Multi bulk reply specifically a list of elements in the specified score range.

zrangeWithScores
Set!(Tuple) zrangeWithScores(const(ubyte)[] key, long start, long stop)
Undocumented in source. Be warned that the author may not have intended to support it.
zrank
Long zrank(const(ubyte)[] key, const(ubyte)[] member)

Return the rank (or index) or member in the sorted set at key, with scores being ordered from low to high. <p> When the given member does not exist in the sorted set, the special value 'nil' is returned. The returned rank (or index) of the member is 0-based for both commands. <p> <b>Time complexity:</b> <p> O(log(N)) @see #zrevrank(const(ubyte)[], const(ubyte)[]) @param key @param member @return Integer reply or a nil bulk reply, specifically: the rank of the element as an integer reply if the element exists. A nil bulk reply if there is no such element.

zrem
Long zrem(const(ubyte)[] key, const(ubyte)[][] members)

Remove the specified member from the sorted set value stored at key. If member was not a member of the set no operation is performed. If key does not not hold a set value an error is returned. <p> Time complexity O(log(N)) with N being the number of elements in the sorted set @param key @param members @return Integer reply, specifically: 1 if the new element was removed 0 if the new element was not a member of the set

zremrangeByLex
Long zremrangeByLex(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max)
Undocumented in source. Be warned that the author may not have intended to support it.
zremrangeByRank
Long zremrangeByRank(const(ubyte)[] key, long start, long stop)

Remove all elements in the sorted set at key with rank between start and end. Start and end are 0-based with rank 0 being the element with the lowest score. Both start and end can be negative numbers, where they indicate offsets starting at the element with the highest rank. For

zremrangeByScore
Long zremrangeByScore(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max)
Undocumented in source. Be warned that the author may not have intended to support it.
zremrangeByScore
Long zremrangeByScore(const(ubyte)[] key, double min, double max)

Remove all the elements in the sorted set at key with a score between min and max (including elements with score equal to min or max). <p> <b>Time complexity:</b> <p> O(log(N))+O(M) with N being the number of elements in the sorted set and M the number of elements removed by the operation @param key @param min @param max @return Integer reply, specifically the number of elements removed.

zrevrange
const(ubyte)[][] zrevrange(const(ubyte)[] key, long start, long stop)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByLex
Set!(const(ubyte)[]) zrevrangeByLex(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByLex
Set!(const(ubyte)[]) zrevrangeByLex(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScore
Set!(const(ubyte)[]) zrevrangeByScore(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScore
Set!(const(ubyte)[]) zrevrangeByScore(const(ubyte)[] key, double max, double min, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScore
Set!(const(ubyte)[]) zrevrangeByScore(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScore
Set!(const(ubyte)[]) zrevrangeByScore(const(ubyte)[] key, double max, double min)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScoreWithScores
Set!(Tuple) zrevrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScoreWithScores
Set!(Tuple) zrevrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScoreWithScores
Set!(Tuple) zrevrangeByScoreWithScores(const(ubyte)[] key, double max, double min, int offset, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeByScoreWithScores
Set!(Tuple) zrevrangeByScoreWithScores(const(ubyte)[] key, double max, double min)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrangeWithScores
Set!(Tuple) zrevrangeWithScores(const(ubyte)[] key, long start, long stop)
Undocumented in source. Be warned that the author may not have intended to support it.
zrevrank
Long zrevrank(const(ubyte)[] key, const(ubyte)[] member)

Return the rank (or index) or member in the sorted set at key, with scores being ordered from high to low. <p> When the given member does not exist in the sorted set, the special value 'nil' is returned. The returned rank (or index) of the member is 0-based for both commands. <p> <b>Time complexity:</b> <p> O(log(N)) @see #zrank(const(ubyte)[], const(ubyte)[]) @param key @param member @return Integer reply or a nil bulk reply, specifically: the rank of the element as an integer reply if the element exists. A nil bulk reply if there is no such element.

zscan
ScanResult!(Tuple) zscan(const(ubyte)[] key, const(ubyte)[] cursor)
Undocumented in source. Be warned that the author may not have intended to support it.
zscan
ScanResult!(Tuple) zscan(const(ubyte)[] key, const(ubyte)[] cursor, ScanParams params)
Undocumented in source. Be warned that the author may not have intended to support it.
zscore
Double zscore(const(ubyte)[] key, const(ubyte)[] member)

Return the score of the specified element of the sorted set at key. If the specified element does not exist in the sorted set, or the key does not exist at all, a special 'nil' value is returned. <p> <b>Time complexity:</b> O(1) @param key @param member @return the score

zunionstore
Long zunionstore(const(ubyte)[] dstkey, ZParams params, const(ubyte)[][] sets)

Creates a union or intersection of N sorted sets given by keys k1 through kN, and stores it at dstkey. It is mandatory to provide the number of input keys N, before passing the input keys and the other (optional) arguments. <p> As the terms imply, the {@link #zinterstore(const(ubyte)[], const(ubyte)[]...) ZINTERSTORE} command requires an element to be present in each of the given inputs to be inserted in the result. The {@link #zunionstore(const(ubyte)[], const(ubyte)[]...) ZUNIONSTORE} command inserts all elements across all inputs. <p> Using the WEIGHTS option, it is possible to add weight to each input sorted set. This means that the score of each element in the sorted set is first multiplied by this weight before being passed to the aggregation. When this option is not given, all weights default to 1. <p> With the AGGREGATE option, it's possible to specify how the results of the union or intersection are aggregated. This option defaults to SUM, where the score of an element is summed across the inputs where it exists. When this option is set to be either MIN or MAX, the resulting set will contain the minimum or maximum score of an element across the inputs where it exists. <p> <b>Time complexity:</b> O(N) + O(M log(M)) with N being the sum of the sizes of the input sorted sets, and M being the number of elements in the resulting sorted set @see #zunionstore(const(ubyte)[], const(ubyte)[]...) @see #zunionstore(const(ubyte)[], ZParams, const(ubyte)[]...) @see #zinterstore(const(ubyte)[], const(ubyte)[]...) @see #zinterstore(const(ubyte)[], ZParams, const(ubyte)[]...) @param dstkey @param sets @param params @return Integer reply, specifically the number of elements in the sorted set at dstkey

zunionstore
Long zunionstore(const(ubyte)[] dstkey, const(ubyte)[][] sets)

Creates a union or intersection of N sorted sets given by keys k1 through kN, and stores it at dstkey. It is mandatory to provide the number of input keys N, before passing the input keys and the other (optional) arguments. <p> As the terms imply, the {@link #zinterstore(const(ubyte)[], const(ubyte)[]...)} ZINTERSTORE} command requires an element to be present in each of the given inputs to be inserted in the result. The {@link #zunionstore(const(ubyte)[], const(ubyte)[]...)} command inserts all elements across all inputs. <p> Using the WEIGHTS option, it is possible to add weight to each input sorted set. This means that the score of each element in the sorted set is first multiplied by this weight before being passed to the aggregation. When this option is not given, all weights default to 1. <p> With the AGGREGATE option, it's possible to specify how the results of the union or intersection are aggregated. This option defaults to SUM, where the score of an element is summed across the inputs where it exists. When this option is set to be either MIN or MAX, the resulting set will contain the minimum or maximum score of an element across the inputs where it exists. <p> <b>Time complexity:</b> O(N) + O(M log(M)) with N being the sum of the sizes of the input sorted sets, and M being the number of elements in the resulting sorted set @see #zunionstore(const(ubyte)[], const(ubyte)[]...) @see #zunionstore(const(ubyte)[], ZParams, const(ubyte)[]...) @see #zinterstore(const(ubyte)[], const(ubyte)[]...) @see #zinterstore(const(ubyte)[], ZParams, const(ubyte)[]...) @param dstkey @param sets @return Integer reply, specifically the number of elements in the sorted set at dstkey

Static functions

getParamsWithBinary
const(ubyte)[][] getParamsWithBinary(List!(const(ubyte)[]) keys, List!(const(ubyte)[]) args)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

client
Client client;
Undocumented in source.
pipeline
Pipeline pipeline;
Undocumented in source.
transaction
Transaction transaction;
Undocumented in source.

Inherited Members

From BasicCommands

ping
string ping()

This command is often used to test if a connection is still alive, or to measure latency.

quit
string quit()

Ask the server to close the connection. The connection is closed as soon as all pending replies have been written to the client. @return OK

flushDB
string flushDB()

Delete all the keys of the currently selected DB. This command never fails. The time-complexity for this operation is O(N), N being the number of keys in the database. @return OK

dbSize
Long dbSize()

Return the number of keys in the currently-selected database. @return the number of key in the currently-selected database.

select
string select(int index)

Select the DB with having the specified zero-based numeric index. @param index the index @return a simple string reply OK

swapDB
string swapDB(int index1, int index2)

This command swaps two Redis databases, so that immediately all the clients connected to a given database will see the data of the other database, and the other way around. @param index1 @param index2 @return Simple string reply: OK if SWAPDB was executed correctly.

flushAll
string flushAll()

Delete all the keys of all the existing databases, not just the currently selected one. @return a simple string reply (OK)

auth
string auth(string password)

Request for authentication in a password-protected Redis server. Redis can be instructed to require a password before allowing clients to execute commands. This is done using the requirepass directive in the configuration file. If password matches the password in the configuration file, the server replies with the OK status code and starts accepting commands. Otherwise, an error is returned and the clients needs to try a new password. @param password @return the result of the auth

save
string save()

The SAVE commands performs a synchronous save of the dataset producing a point in time snapshot of all the data inside the Redis instance, in the form of an RDB file. You almost never want to call SAVE in production environments where it will block all the other clients. Instead usually BGSAVE is used. However in case of issues preventing Redis to create the background saving child (for instance errors in the fork(2) system call), the SAVE command can be a good last resort to perform the dump of the latest dataset. @return result of the save

bgsave
string bgsave()

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 may be able to check if the operation succeeded using the LASTSAVE command. @return ok

bgrewriteaof
string bgrewriteaof()

Instruct Redis to start an Append Only File rewrite process. The rewrite will create a small optimized version of the current Append Only File If BGREWRITEAOF fails, no data gets lost as the old AOF will be untouched. The rewrite will be only triggered by Redis if there is not already a background process doing persistence. Specifically: If a Redis child is creating a snapshot on disk, the AOF rewrite is scheduled but not started until the saving child producing the RDB file terminates. In this case the BGREWRITEAOF will still return an OK code, but with an appropriate message. You can check if an AOF rewrite is scheduled looking at the INFO command as of Redis 2.6. If an AOF rewrite is already in progress the command returns an error and no AOF rewrite will be scheduled for a later time. Since Redis 2.4 the AOF rewrite is automatically triggered by Redis, however the BGREWRITEAOF command can be used to trigger a rewrite at any time. @return the response of the command

lastsave
Long lastsave()

Return the UNIX TIME of the last DB save executed with success. @return the unix latest save

shutdown
string shutdown()

Stop all the client. Perform a SAVE (if one save point is configured). Flush the append only file if AOF is enabled quit the server @return only in case of error.

info
string 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. @return information on the server

info
string info(string section)

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. @param section (all: Return all sections, default: Return only the default set of sections, server: General information about the Redis server, clients: Client connections section, memory: Memory consumption related information, persistence: RDB and AOF related information, stats: General statistics, replication: Master/slave replication information, cpu: CPU consumption statistics, commandstats: Redis command statistics, cluster: Redis Cluster section, keyspace: Database related statistics) @return

slaveof
string slaveof(string host, int port)

The SLAVEOF command can change the replication settings of a slave on the fly. In the proper form SLAVEOF hostname port will make the server a slave of another server listening at the specified hostname and port. If a server is already a slave of some master, SLAVEOF hostname port will stop the replication against the old server and start the synchronization against the new one, discarding the old dataset. @param host, listening at the specified hostname @param port, server listening at the specified port @return result of the command.

slaveofNoOne
string slaveofNoOne()

SLAVEOF NO ONE will stop replication, turning the server into a MASTER, but will not discard the replication. So, if the old master stops working, it is possible to turn the slave into a master and set the application to use this new master in read/write. Later when the other Redis server is fixed, it can be reconfigured to work as a slave. @return result of the command

getDB
int getDB()

Return the index of the current database @return the int of the index database.

configResetStat
string configResetStat()
Undocumented in source.
configRewrite
string configRewrite()
Undocumented in source.
waitReplicas
Long waitReplicas(int replicas, long timeout)

Blocks until all the previous write commands are successfully transferred and acknowledged by at least the specified number of replicas. If the timeout, specified in milliseconds, is reached, the command returns even if the specified number of replicas were not yet reached.

From BinaryRedisCommands

set
string set(const(ubyte)[] key, const(ubyte)[] value)
Undocumented in source.
set
string set(const(ubyte)[] key, const(ubyte)[] value, SetParams params)
Undocumented in source.
get
const(ubyte)[] get(const(ubyte)[] key)
Undocumented in source.
exists
bool exists(const(ubyte)[] key)
Undocumented in source.
persist
Long persist(const(ubyte)[] key)
Undocumented in source.
type
string type(const(ubyte)[] key)
Undocumented in source.
dump
const(ubyte)[] dump(const(ubyte)[] key)
Undocumented in source.
restore
string restore(const(ubyte)[] key, int ttl, const(ubyte)[] serializedValue)
Undocumented in source.
restoreReplace
string restoreReplace(const(ubyte)[] key, int ttl, const(ubyte)[] serializedValue)
Undocumented in source.
expire
Long expire(const(ubyte)[] key, int seconds)
Undocumented in source.
pexpire
Long pexpire(const(ubyte)[] key, long milliseconds)
Undocumented in source.
expireAt
Long expireAt(const(ubyte)[] key, long unixTime)
Undocumented in source.
pexpireAt
Long pexpireAt(const(ubyte)[] key, long millisecondsTimestamp)
Undocumented in source.
ttl
Long ttl(const(ubyte)[] key)
Undocumented in source.
pttl
Long pttl(const(ubyte)[] key)
Undocumented in source.
touch
Long touch(const(ubyte)[] key)
Undocumented in source.
setbit
bool setbit(const(ubyte)[] key, long offset, bool value)
Undocumented in source.
setbit
bool setbit(const(ubyte)[] key, long offset, const(ubyte)[] value)
Undocumented in source.
getbit
bool getbit(const(ubyte)[] key, long offset)
Undocumented in source.
setrange
Long setrange(const(ubyte)[] key, long offset, const(ubyte)[] value)
Undocumented in source.
getrange
const(ubyte)[] getrange(const(ubyte)[] key, long startOffset, long endOffset)
Undocumented in source.
getSet
const(ubyte)[] getSet(const(ubyte)[] key, const(ubyte)[] value)
Undocumented in source.
setnx
Long setnx(const(ubyte)[] key, const(ubyte)[] value)
Undocumented in source.
setex
string setex(const(ubyte)[] key, int seconds, const(ubyte)[] value)
Undocumented in source.
psetex
string psetex(const(ubyte)[] key, long milliseconds, const(ubyte)[] value)
Undocumented in source.
decrBy
Long decrBy(const(ubyte)[] key, long decrement)
Undocumented in source.
decr
Long decr(const(ubyte)[] key)
Undocumented in source.
incrBy
Long incrBy(const(ubyte)[] key, long increment)
Undocumented in source.
incrByFloat
Double incrByFloat(const(ubyte)[] key, double increment)
Undocumented in source.
strlen
Long strlen(const(ubyte)[] key)
Undocumented in source.
del
Long del(const(ubyte)[] key)
Undocumented in source.
unlink
Long unlink(const(ubyte)[] key)
Undocumented in source.
echo
const(ubyte)[] echo(const(ubyte)[] arg)
Undocumented in source.
move
Long move(const(ubyte)[] key, int dbIndex)
Undocumented in source.
bitcount
Long bitcount(const(ubyte)[] key)
Undocumented in source.
bitcount
Long bitcount(const(ubyte)[] key, long start, long end)
Undocumented in source.
pfadd
Long pfadd(const(ubyte)[] key, const(ubyte)[][] elements)
Undocumented in source.
pfcount
Long pfcount(const(ubyte)[] key)
Undocumented in source.

From AdvancedBinaryRedisCommands

configGet
List!(const(ubyte)[]) configGet(const(ubyte)[] pattern)
Undocumented in source.
configSet
const(ubyte)[] configSet(const(ubyte)[] parameter, const(ubyte)[] value)
Undocumented in source.
slowlogReset
string slowlogReset()
Undocumented in source.
slowlogLen
Long slowlogLen()
Undocumented in source.
slowlogGetBinary
List!(const(ubyte)[]) slowlogGetBinary()
Undocumented in source.
slowlogGetBinary
List!(const(ubyte)[]) slowlogGetBinary(long entries)
Undocumented in source.
objectRefcount
Long objectRefcount(const(ubyte)[] key)
Undocumented in source.
objectEncoding
const(ubyte)[] objectEncoding(const(ubyte)[] key)
Undocumented in source.
objectIdletime
Long objectIdletime(const(ubyte)[] key)
Undocumented in source.
migrate
string migrate(string host, int port, const(ubyte)[] key, int destinationDB, int timeout)
Undocumented in source.
migrate
string migrate(string host, int port, int destinationDB, int timeout, MigrateParams params, const(ubyte)[][] keys)
Undocumented in source.
clientKill
string clientKill(const(ubyte)[] ipPort)
Undocumented in source.
clientKill
string clientKill(string ip, int port)
Undocumented in source.
clientKill
Long clientKill(ClientKillParams params)
Undocumented in source.
clientGetnameBinary
const(ubyte)[] clientGetnameBinary()
Undocumented in source.
clientListBinary
const(ubyte)[] clientListBinary()
Undocumented in source.
clientSetname
string clientSetname(const(ubyte)[] name)
Undocumented in source.
memoryDoctorBinary
const(ubyte)[] memoryDoctorBinary()
Undocumented in source.

From BinaryScriptingCommands

eval
Object eval(const(ubyte)[] script, const(ubyte)[] keyCount, const(ubyte)[][] params)
Undocumented in source.
eval
Object eval(const(ubyte)[] script, int keyCount, const(ubyte)[][] params)
Undocumented in source.
eval
Object eval(const(ubyte)[] script, List!(const(ubyte)[]) keys, List!(const(ubyte)[]) args)
Undocumented in source.
eval
Object eval(const(ubyte)[] script)
Undocumented in source.
evalsha
Object evalsha(const(ubyte)[] sha1)
Undocumented in source.
evalsha
Object evalsha(const(ubyte)[] sha1, List!(const(ubyte)[]) keys, List!(const(ubyte)[]) args)
Undocumented in source.
evalsha
Object evalsha(const(ubyte)[] sha1, int keyCount, const(ubyte)[][] params)
Undocumented in source.
scriptExists
List!(long) scriptExists(const(ubyte)[][] sha1)
Undocumented in source.
scriptLoad
const(ubyte)[] scriptLoad(const(ubyte)[] script)
Undocumented in source.
scriptFlush
string scriptFlush()
Undocumented in source.
scriptKill
string scriptKill()
Undocumented in source.

Meta