]> git.saurik.com Git - redis.git/blobdiff - doc/CommandReference.html
missing return caused protocol desync in CLUSTER SETSLOT
[redis.git] / doc / CommandReference.html
index 7021bd7e4725bd458d2a5466016c7ae3df14b4aa..143b23b5e59f6b73b0fb1c919d4296beedeb79ea 100644 (file)
@@ -28,8 +28,8 @@
                 <div class="narrow">
                     &iuml;&raquo;&iquest;= Redis Command Reference =<br/><br/>Every command name links to a specific wiki page describing the behavior of the command.<h2><a name="Categorized Command List">Categorized Command List</a></h2><h2><a name="Connection handling">Connection handling</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="QuitCommand.html">QUIT</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  close the connection </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="AuthCommand.html">AUTH</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>password</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  simple password authentication if enabled  </td></tr></table>
 <h2><a name="Commands operating on all value types">Commands operating on all value types</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ExistsCommand.html">EXISTS</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  test if a key exists  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="DelCommand.html">DEL</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  delete a key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="TypeCommand.html">TYPE</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  return the type of the value stored at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="KeysCommand.html">KEYS</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>pattern</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  return all the keys matching a given pattern  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RandomkeyCommand.html">RANDOMKEY</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  return a random key from the key space  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RenameCommand.html">RENAME</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>oldname</i> <i>newname</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  rename the old key in the new one, destroying the newname key if it already exists  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RenamenxCommand.html">RENAMENX</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>oldname</i> <i>newname</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  rename the <i>oldname</i> key to <i>newname</i>, if the <i>newname</i> key does not already exist  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="DbsizeCommand.html">DBSIZE</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  return the number of keys in the current db  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ExpireCommand.html">EXPIRE</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  set a time to live in seconds on a key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ExpireCommand.html">PERSIST</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  remove the expire from a key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="TtlCommand.html">TTL</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  get the time to live in seconds of a key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SelectCommand.html">SELECT</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>index</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  Select the DB with the specified index  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="MoveCommand.html">MOVE</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>dbindex</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  Move the key from the currently selected DB to the <i>dbindex</i> DB   </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="FlushdbCommand.html">FLUSHDB</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove all the keys from the currently selected DB  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="FlushallCommand.html">FLUSHALL</a></td><td style="border: 1px solid #aaa; padding: 5px;"> - </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove all the keys from all the databases  </td></tr></table>
-<h2><a name="Commands operating on string values">Commands operating on string values</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SetCommand.html">SET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a <i>key</i> to a string <i>value</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="GetCommand.html">GET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the string value of the <i>key</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="GetsetCommand.html">GETSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a key to a string returning the old value of the key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="MgetCommand.html">MGET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Multi-get, return the strings values of the keys  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SetnxCommand.html">SETNX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a key to a string value if the key does not exist  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SetexCommand.html">SETEX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>time</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set+Expire combo command  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="MsetCommand.html">MSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>value1</i> <i>key2</i> <i>value2</i> ... <i>keyN</i> <i>valueN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set multiple keys to multiple values in a single atomic operation   </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="MsetCommand.html">MSETNX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>value1</i> <i>key2</i> <i>value2</i> ... <i>keyN</i> <i>valueN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set multiple keys to multiple values in a single atomic operation if none of the keys already exist  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">INCR</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Increment the integer value of key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">INCRBY</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>integer</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Increment the integer value of <i>key</i> by <i>integer</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">DECR</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Decrement the integer value of key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">DECRBY</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>integer</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Decrement the integer value of <i>key</i> by <i>integer</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="AppendCommand.html">APPEND</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Append the specified string to the string stored at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SubstrCommand.html">SUBSTR</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return a substring of a larger string  </td></tr></table>
-<h2><a name="Commands operating on lists">Commands operating on lists</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RpushCommand.html">RPUSH</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Append an element to the tail of the List value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RpushCommand.html">LPUSH</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Append an element to the head of the List value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LlenCommand.html">LLEN</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the length of the List value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LrangeCommand.html">LRANGE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return a range of elements from the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LtrimCommand.html">LTRIM</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Trim the list at key to the specified range of elements  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LindexCommand.html">LINDEX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>index</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the element at index position from the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LsetCommand.html">LSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>index</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a new value as the element at index position of the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LremCommand.html">LREM</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>count</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove the first-N, last-N, or all the elements matching value from the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LpopCommand.html">LPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return and remove (atomically) the first element of the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LpopCommand.html">RPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return and remove (atomically) the last element of the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="BlpopCommand.html">BLPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i> <i>timeout</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Blocking LPOP  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="BlpopCommand.html">BRPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i> <i>timeout</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Blocking RPOP  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RpoplpushCommand.html">RPOPLPUSH</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>srckey</i> <i>dstkey</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return and remove (atomically) the last element of the source List stored at <i>srckey</i> and push the same element to the destination List stored at <i>dstkey</i>  </td></tr></table>
+<h2><a name="Commands operating on string values">Commands operating on string values</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SetCommand.html">SET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a <i>key</i> to a string <i>value</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="GetCommand.html">GET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the string value of the <i>key</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="GetsetCommand.html">GETSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a key to a string returning the old value of the key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SetnxCommand.html">SETNX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a key to a string value if the key does not exist  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SetexCommand.html">SETEX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>time</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set+Expire combo command  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SetbitCommand.html">SETBIT</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>offset</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set bit at <i>offset</i> to <i>value</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="GetbitCommand.html">GETBIT</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>offset</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  Return bit value at <i>offset</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="MsetCommand.html">MSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>value1</i> <i>key2</i> <i>value2</i> ... <i>keyN</i> <i>valueN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set multiple keys to multiple values in a single atomic operation   </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="MsetCommand.html">MSETNX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>value1</i> <i>key2</i> <i>value2</i> ... <i>keyN</i> <i>valueN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set multiple keys to multiple values in a single atomic operation if none of the keys already exist  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="MgetCommand.html">MGET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Multi-get, return the strings values of the keys  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">INCR</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Increment the integer value of key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">INCRBY</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>integer</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Increment the integer value of <i>key</i> by <i>integer</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">DECR</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Decrement the integer value of key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="IncrCommand.html">DECRBY</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>integer</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Decrement the integer value of <i>key</i> by <i>integer</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="AppendCommand.html">APPEND</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Append the specified string to the string stored at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SubstrCommand.html">SUBSTR</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return a substring of a larger string  </td></tr></table>
+<h2><a name="Commands operating on lists">Commands operating on lists</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RpushCommand.html">RPUSH</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Append an element to the tail of the List value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RpushCommand.html">LPUSH</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Append an element to the head of the List value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LlenCommand.html">LLEN</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the length of the List value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LrangeCommand.html">LRANGE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return a range of elements from the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LtrimCommand.html">LTRIM</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Trim the list at key to the specified range of elements  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LindexCommand.html">LINDEX</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>index</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the element at index position from the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LsetCommand.html">LSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>index</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set a new value as the element at index position of the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LremCommand.html">LREM</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>count</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove the first-N, last-N, or all the elements matching value from the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LpopCommand.html">LPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return and remove (atomically) the first element of the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="LpopCommand.html">RPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return and remove (atomically) the last element of the List at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="BlpopCommand.html">BLPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i> <i>timeout</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Blocking LPOP  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="BlpopCommand.html">BRPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i> <i>timeout</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Blocking RPOP  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="RpoplpushCommand.html">RPOPLPUSH</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>srckey</i> <i>dstkey</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return and remove (atomically) the last element of the source List stored at <i>srckey</i> and push the same element to the destination List stored at <i>dstkey</i>  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="BrpoplpushCommand.html">BRPOPLPUSH</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>srckey</i> <i>dstkey</i> </td><td style="border: 1px solid #aaa; padding: 5px;"> Like RPOPLPUSH but blocking of source key is empty </td></tr></table>
 <h2><a name="Commands operating on sets">Commands operating on sets</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SaddCommand.html">SADD</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Add the specified member to the Set value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SremCommand.html">SREM</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove the specified member from the Set value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SpopCommand.html">SPOP</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove and return (pop) a random element from the Set value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SmoveCommand.html">SMOVE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>srckey</i> <i>dstkey</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Move the specified member from one Set to another atomically  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ScardCommand.html">SCARD</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the number of elements (the cardinality) of the Set at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SismemberCommand.html">SISMEMBER</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Test if the specified value is a member of the Set at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SinterCommand.html">SINTER</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the intersection between the Sets stored at key1, key2, ..., keyN  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SinterstoreCommand.html">SINTERSTORE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>dstkey</i> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Compute the intersection between the Sets stored at key1, key2, ..., keyN, and store the resulting Set at dstkey  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SunionCommand.html">SUNION</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the union between the Sets stored at key1, key2, ..., keyN  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SunionstoreCommand.html">SUNIONSTORE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>dstkey</i> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Compute the union between the Sets stored at key1, key2, ..., keyN, and store the resulting Set at dstkey  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SdiffCommand.html">SDIFF</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the difference between the Set stored at key1 and all the Sets key2, ..., keyN  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SdiffstoreCommand.html">SDIFFSTORE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>dstkey</i> <i>key1</i> <i>key2</i> ... <i>keyN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Compute the difference between the Set key1 and all the Sets key2, ..., keyN, and store the resulting Set at dstkey  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SmembersCommand.html">SMEMBERS</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return all the members of the Set value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="SrandmemberCommand.html">SRANDMEMBER</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return a random member of the Set value at key  </td></tr></table>
 <h2><a name="Commands operating on sorted zsets (sorted sets)">Commands operating on sorted zsets (sorted sets)</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZaddCommand.html">ZADD</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>score</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Add the specified member to the Sorted Set value at key or update the score if it already exist  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZremCommand.html">ZREM</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove the specified member from the Sorted Set value at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZincrbyCommand.html">ZINCRBY</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>increment</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  If the member already exists increment its score by <i>increment</i>, otherwise add the member setting <i>increment</i> as score  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZrankCommand.html">ZRANK</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the rank (or index) or <i>member</i> in the sorted set at <i>key</i>, with scores being ordered from low to high  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZrankCommand.html">ZREVRANK</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>member</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the rank (or index) or <i>member</i> in the sorted set at <i>key</i>, with scores being ordered from high to low  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZrangeCommand.html">ZRANGE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return a range of elements from the sorted set at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZrangeCommand.html">ZREVRANGE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>start</i> <i>end</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  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  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZrangebyscoreCommand.html">ZRANGEBYSCORE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>min</i> <i>max</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return all the elements with score &gt;= min and score &lt;= max (a range query) from the sorted set  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZrangebyscoreCommand.html">ZCOUNT</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>min</i> <i>max</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the number of elements with score &gt;= min and score &lt;= max in the sorted set  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZcardCommand.html">ZCARD</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the cardinality (number of elements) of the sorted set at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZscoreCommand.html">ZSCORE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>element</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Return the score associated with the specified element of the sorted set at key  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZremrangebyrankCommand.html">ZREMRANGEBYRANK</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>min</i> <i>max</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove all the elements with rank &gt;= min and rank &lt;= max from the sorted set  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZremrangebyscoreCommand.html">ZREMRANGEBYSCORE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>min</i> <i>max</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove all the elements with score &gt;= min and score &lt;= max from the sorted set  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="ZunionstoreCommand.html">ZUNIONSTORE / ZINTERSTORE</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>dstkey</i> <i>N</i> <i>key1</i> ... <i>keyN</i> WEIGHTS <i>w1</i> ... <i>wN</i> AGGREGATE SUM|MIN|MAX  </td><td style="border: 1px solid #aaa; padding: 5px;">  Perform a union or intersection over a number of sorted sets with optional weight and aggregate  </td></tr></table>
 <h2><a name="Commands operating on hashes">Commands operating on hashes</a></h2><table><tr><td style="border: 1px solid #aaa; padding: 5px;"> <b>Command</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Parameters</b> </td><td style="border: 1px solid #aaa; padding: 5px;"> <b>Description</b> </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HsetCommand.html">HSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>field</i> <i>value</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set the hash field to the specified value. Creates the hash if needed.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HgetCommand.html">HGET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>field</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Retrieve the value of the specified hash field.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HmgetCommand.html">HMGET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>field1</i> ... <i>fieldN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Get the hash values associated to the specified fields.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HmsetCommand.html">HMSET</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>field1</i> <i>value1</i> ... <i>fieldN</i> <i>valueN</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Set the hash fields to their respective values.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HincrbyCommand.html">HINCRBY</a> </td><td style="border: 1px solid #aaa; padding: 5px;">  <i>key</i> <i>field</i> <i>integer</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Increment the integer value of the hash at <i>key</i> on <i>field</i> with <i>integer</i>.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HexistsCommand.html">HEXISTS</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>field</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Test for existence of a specified field in a hash  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HdelCommand.html">HDEL</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> <i>field</i>  </td><td style="border: 1px solid #aaa; padding: 5px;">  Remove the specified field from a hash  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HlenCommand.html">HLEN</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> </td><td style="border: 1px solid #aaa; padding: 5px;">   Return the number of items in a hash.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HgetallCommand.html">HKEYS</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i> </td><td style="border: 1px solid #aaa; padding: 5px;">  Return all the fields in a hash.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HgetallCommand.html">HVALS</a>  </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;"> Return all the values in a hash.  </td></tr><tr><td style="border: 1px solid #aaa; padding: 5px;"> <a href="HgetallCommand.html">HGETALL</a> </td><td style="border: 1px solid #aaa; padding: 5px;"> <i>key</i>  </td><td style="border: 1px solid #aaa; padding: 5px;"> Return all the fields and associated values in a hash.  </td></tr></table>