`|Redis Documentation| `_ **CommandReference: Contents**     `Categorized Command List <#Categorized%20Command%20List>`_     `Connection handling <#Connection%20handling>`_     `Commands operating on all value types <#Commands%20operating%20on%20all%20value%20types>`_     `Commands operating on string values <#Commands%20operating%20on%20string%20values>`_     `Commands operating on lists <#Commands%20operating%20on%20lists>`_     `Commands operating on sets <#Commands%20operating%20on%20sets>`_     `Commands operating on sorted zsets (sorted sets) <#Commands%20operating%20on%20sorted%20zsets%20(sorted%20sets)>`_     `Commands operating on hashes <#Commands%20operating%20on%20hashes>`_     `Sorting <#Sorting>`_     `Transactions <#Transactions>`_     `Publish/Subscribe <#Publish/Subscribe>`_     `Persistence control commands <#Persistence%20control%20commands>`_     `Remote server control commands <#Remote%20server%20control%20commands>`_ CommandReference ================ = Redis Command Reference = Every command name links to a specific wiki page describing the behavior of the command. Categorized Command List ------------------------ Connection handling ------------------- **Command** **Parameters** **Description** `QUIT `_ - close the connection `AUTH `_ *password* simple password authentication if enabled Commands operating on all value types ------------------------------------- **Command** **Parameters** **Description** `EXISTS `_ *key* test if a key exists `DEL `_ *key* delete a key `TYPE `_ *key* return the type of the value stored at key `KEYS `_ *pattern* return all the keys matching a given pattern `RANDOMKEY `_ - return a random key from the key space `RENAME `_ *oldname* *newname* rename the old key in the new one, destroying the newname key if it already exists `RENAMENX `_ *oldname* *newname* rename the *oldname* key to *newname*, if the *newname* key does not already exist `DBSIZE `_ - return the number of keys in the current db `EXPIRE `_ - set a time to live in seconds on a key `PERSIST `_ - remove the expire from a key `TTL `_ - get the time to live in seconds of a key `SELECT `_ *index* Select the DB with the specified index `MOVE `_ *key* *dbindex* Move the key from the currently selected DB to the *dbindex* DB `FLUSHDB `_ - Remove all the keys from the currently selected DB `FLUSHALL `_ - Remove all the keys from all the databases Commands operating on string values ----------------------------------- **Command** **Parameters** **Description** `SET `_ *key* *value* Set a *key* to a string *value* `GET `_ *key* Return the string value of the *key* `GETSET `_ *key* *value* Set a key to a string returning the old value of the key `SETNX `_ *key* *value* Set a key to a string value if the key does not exist `SETEX `_ *key* *time* *value* Set+Expire combo command `SETBIT `_ *key* *offset* *value* Set bit at *offset* to *value* `GETBIT `_ *key* *offset* Return bit value at *offset* `MSET `_ *key1* *value1* *key2* *value2* ... *keyN* *valueN* Set multiple keys to multiple values in a single atomic operation `MSETNX `_ *key1* *value1* *key2* *value2* ... *keyN* *valueN* Set multiple keys to multiple values in a single atomic operation if none of the keys already exist `MGET `_ *key1* *key2* ... *keyN* Multi-get, return the strings values of the keys `INCR `_ *key* Increment the integer value of key `INCRBY `_ *key* *integer* Increment the integer value of *key* by *integer* `DECR `_ *key* Decrement the integer value of key `DECRBY `_ *key* *integer* Decrement the integer value of *key* by *integer* `APPEND `_ *key* *value* Append the specified string to the string stored at key `SUBSTR `_ *key* *start* *end* Return a substring of a larger string Commands operating on lists --------------------------- **Command** **Parameters** **Description** `RPUSH `_ *key* *value* Append an element to the tail of the List value at key `LPUSH `_ *key* *value* Append an element to the head of the List value at key `LLEN `_ *key* Return the length of the List value at key `LRANGE `_ *key* *start* *end* Return a range of elements from the List at key `LTRIM `_ *key* *start* *end* Trim the list at key to the specified range of elements `LINDEX `_ *key* *index* Return the element at index position from the List at key `LSET `_ *key* *index* *value* Set a new value as the element at index position of the List at key `LREM `_ *key* *count* *value* Remove the first-N, last-N, or all the elements matching value from the List at key `LPOP `_ *key* Return and remove (atomically) the first element of the List at key `RPOP `_ *key* Return and remove (atomically) the last element of the List at key `BLPOP `_ *key1* *key2* ... *keyN* *timeout* Blocking LPOP `BRPOP `_ *key1* *key2* ... *keyN* *timeout* Blocking RPOP `RPOPLPUSH `_ *srckey* *dstkey* Return and remove (atomically) the last element of the source List stored at *srckey* and push the same element to the destination List stored at *dstkey* `BRPOPLPUSH `_ *srckey* *dstkey* Like RPOPLPUSH but blocking of source key is empty Commands operating on sets -------------------------- **Command** **Parameters** **Description** `SADD `_ *key* *member* Add the specified member to the Set value at key `SREM `_ *key* *member* Remove the specified member from the Set value at key `SPOP `_ *key* Remove and return (pop) a random element from the Set value at key `SMOVE `_ *srckey* *dstkey* *member* Move the specified member from one Set to another atomically `SCARD `_ *key* Return the number of elements (the cardinality) of the Set at key `SISMEMBER `_ *key* *member* Test if the specified value is a member of the Set at key `SINTER `_ *key1* *key2* ... *keyN* Return the intersection between the Sets stored at key1, key2, ..., keyN `SINTERSTORE `_ *dstkey* *key1* *key2* ... *keyN* Compute the intersection between the Sets stored at key1, key2, ..., keyN, and store the resulting Set at dstkey `SUNION `_ *key1* *key2* ... *keyN* Return the union between the Sets stored at key1, key2, ..., keyN `SUNIONSTORE `_ *dstkey* *key1* *key2* ... *keyN* Compute the union between the Sets stored at key1, key2, ..., keyN, and store the resulting Set at dstkey `SDIFF `_ *key1* *key2* ... *keyN* Return the difference between the Set stored at key1 and all the Sets key2, ..., keyN `SDIFFSTORE `_ *dstkey* *key1* *key2* ... *keyN* Compute the difference between the Set key1 and all the Sets key2, ..., keyN, and store the resulting Set at dstkey `SMEMBERS `_ *key* Return all the members of the Set value at key `SRANDMEMBER `_ *key* Return a random member of the Set value at key Commands operating on sorted zsets (sorted sets) ------------------------------------------------ **Command** **Parameters** **Description** `ZADD `_ *key* *score* *member* Add the specified member to the Sorted Set value at key or update the score if it already exist `ZREM `_ *key* *member* Remove the specified member from the Sorted Set value at key `ZINCRBY `_ *key* *increment* *member* If the member already exists increment its score by *increment*, otherwise add the member setting *increment* as score `ZRANK `_ *key* *member* Return the rank (or index) or *member* in the sorted set at *key*, with scores being ordered from low to high `ZREVRANK `_ *key* *member* Return the rank (or index) or *member* in the sorted set at *key*, with scores being ordered from high to low `ZRANGE `_ *key* *start* *end* Return a range of elements from the sorted set at key `ZREVRANGE `_ *key* *start* *end* Return a range of elements from the sorted set at key, exactly like ZRANGE, but the sorted set is ordered in traversed in reverse order, from the greatest to the smallest score `ZRANGEBYSCORE `_ *key* *min* *max* Return all the elements with score >= min and score <= max (a range query) from the sorted set `ZCOUNT `_ *key* *min* *max* Return the number of elements with score >= min and score <= max in the sorted set `ZCARD `_ *key* Return the cardinality (number of elements) of the sorted set at key `ZSCORE `_ *key* *element* Return the score associated with the specified element of the sorted set at key `ZREMRANGEBYRANK `_ *key* *min* *max* Remove all the elements with rank >= min and rank <= max from the sorted set `ZREMRANGEBYSCORE `_ *key* *min* *max* Remove all the elements with score >= min and score <= max from the sorted set `ZUNIONSTORE / ZINTERSTORE `_ *dstkey* *N* *key1* ... *keyN* WEIGHTS *w1* ... *wN* AGGREGATE SUM\|MIN\|MAX Perform a union or intersection over a number of sorted sets with optional weight and aggregate Commands operating on hashes ---------------------------- **Command** **Parameters** **Description** `HSET `_ *key* *field* *value* Set the hash field to the specified value. Creates the hash if needed. `HGET `_ *key* *field* Retrieve the value of the specified hash field. `HMGET `_ *key* *field1* ... *fieldN* Get the hash values associated to the specified fields. `HMSET `_ *key* *field1* *value1* ... *fieldN* *valueN* Set the hash fields to their respective values. `HINCRBY `_ *key* *field* *integer* Increment the integer value of the hash at *key* on *field* with *integer*. `HEXISTS `_ *key* *field* Test for existence of a specified field in a hash `HDEL `_ *key* *field* Remove the specified field from a hash `HLEN `_ *key* Return the number of items in a hash. `HKEYS `_ *key* Return all the fields in a hash. `HVALS `_ *key* Return all the values in a hash. `HGETALL `_ *key* Return all the fields and associated values in a hash. Sorting ------- **Command** **Parameters** **Description** `SORT `_ *key* BY *pattern* LIMIT *start* *end* GET *pattern* ASC\|DESC ALPHA Sort a Set or a List accordingly to the specified parameters Transactions ------------ **Command** **Parameters** **Description** `MULTI/EXEC/DISCARD/WATCH/UNWATCH `_ - Redis atomic transactions Publish/Subscribe ----------------- **Command** **Parameters** **Description** `SUBSCRIBE/UNSUBSCRIBE/PUBLISH `_ - Redis Public/Subscribe messaging paradigm implementation Persistence control commands ---------------------------- **Command** **Parameters** **Description** `SAVE `_ - Synchronously save the DB on disk `BGSAVE `_ - Asynchronously save the DB on disk `LASTSAVE `_ - Return the UNIX time stamp of the last successfully saving of the dataset on disk `SHUTDOWN `_ - Synchronously save the DB on disk, then shutdown the server `BGREWRITEAOF `_ - Rewrite the append only file in background when it gets too big Remote server control commands ------------------------------ **Command** **Parameters** **Description** `INFO `_ - Provide information and statistics about the server `MONITOR `_ - Dump all the received requests in real time `SLAVEOF `_ - Change the replication settings `CONFIG `_ - Configure a Redis server at runtime .. |Redis Documentation| image:: redis.png