<h1><aname="Redis Command Reference">Redis Command Reference</a></h1>Every command name links to a specific wiki page describing the behavior of the command.<h2><aname="Connection handling">Connection handling</a></h2><ul><li><ahref="QuitCommand.html">QUIT</a><codename="code"class="python">close the connection</code></li></ul>
<h2><aname="Commands operating on string values">Commands operating on string values</a></h2><ul><li><ahref="SetCommand.html">SET</a><i>key</i><i>value</i><codename="code"class="python">set a key to a string value</code></li><li><ahref="GetCommand.html">GET</a><i>key</i><codename="code"class="python">return the string value of the key</code></li><li><ahref="MgetCommand.html">MGET</a><i>key1</i><i>key2</i> ... <i>keyN</i><codename="code"class="python">multi-get, return the strings values of the keys</code></li><li><ahref="SetnxCommand.html">SETNX</a><i>key</i><i>value</i><codename="code"class="python">set a key to a string value if the key does not exist</code></li><li><ahref="IncrCommand.html">INCR</a><i>key</i><codename="code"class="python">increment the integer value of key</code></li><li><ahref="IncrCommand.html">INCRBY</a><i>key</i><i>integer</i><codename="code"class="python"> increment the integer value of key by integer</code></li><li><ahref="IncrCommand.html">INCR</a><i>key</i><codename="code"class="python">decrement the integer value of key</code></li><li><ahref="IncrCommand.html">DECRBY</a><i>key</i><i>integer</i><codename="code"class="python">decrement the integer value of key by integer</code></li><li><ahref="ExistsCommand.html">EXISTS</a><i>key</i><codename="code"class="python">test if a key exists</code></li><li><ahref="DelCommand.html">DEL</a><i>key</i><codename="code"class="python">delete a key</code></li><li><ahref="TypeCommand.html">TYPE</a><i>key</i><codename="code"class="python">return the type of the value stored at key</code></li></ul>
<h2><aname="Commands operating on the key space">Commands operating on the key space</a></h2><ul><li><ahref="KeysCommand.html">KEYS</a><i>pattern</i><codename="code"class="python">return all the keys matching a given pattern</code></li><li><ahref="RandomkeyCommand.html">RANDOMKEY</a><codename="code"class="python">return a random key from the key space</code></li><li><ahref="RenameCommand.html">RENAME</a><i>oldname</i><i>newname</i><codename="code"class="python">rename the old key in the new one, destroing the newname key if it already exists</code></li><li><ahref="RenamenxCommand.html">RENAMENX</a><i>oldname</i><i>newname</i><codename="code"class="python">rename the old key in the new one, if the newname key does not already exist</code></li><li><ahref="Dbsize.html">DBSIZE</a><codename="code"class="python">return the number of keys in the current db</code></li></ul>
<h2><aname="Commands operating on the key space">Commands operating on the key space</a></h2><ul><li><ahref="KeysCommand.html">KEYS</a><i>pattern</i><codename="code"class="python">return all the keys matching a given pattern</code></li><li><ahref="RandomkeyCommand.html">RANDOMKEY</a><codename="code"class="python">return a random key from the key space</code></li><li><ahref="RenameCommand.html">RENAME</a><i>oldname</i><i>newname</i><codename="code"class="python">rename the old key in the new one, destroing the newname key if it already exists</code></li><li><ahref="RenamenxCommand.html">RENAMENX</a><i>oldname</i><i>newname</i><codename="code"class="python">rename the old key in the new one, if the newname key does not already exist</code></li><li><ahref="DbsizeCommand.html">DBSIZE</a><codename="code"class="python">return the number of keys in the current db</code></li><li><ahref="ExpireCommand.html">EXPIRE</a><codename="code"class="python">set a time to live in seconds on a key</code></li></ul>
<h2><aname="Commands operating on lists">Commands operating on lists</a></h2><ul><li><ahref="RpushCommand.html">RPUSH</a><i>key</i><i>value</i><codename="code"class="python">Append an element to the tail of the List value at key</code></li><li><ahref="RpushCommand.html">LPUSH</a><i>key</i><i>value</i><codename="code"class="python">Append an element to the head of the List value at key</code></li><li><ahref="LlenCommand.html">LLEN</a><i>key</i><codename="code"class="python">Return the length of the List value at key</code></li><li><ahref="LrangeCommand.html">LRANGE</a><i>key</i><i>start</i><i>end</i><codename="code"class="python">Return a range of elements from the List at key</code></li><li><ahref="LtrimCommand.html">LTRIM</a><i>key</i><i>start</i><i>end</i><codename="code"class="python">Trim the list at key to the specified range of elements</code></li><li><ahref="LindexCommand.html">LINDEX</a><i>key</i><i>index</i><codename="code"class="python">Return the element at index position from the List at key</code></li><li><ahref="LsetCommand.html">LSET</a><i>key</i><i>index</i><i>value</i><codename="code"class="python">Set a new value as the element at index position of the List at key</code></li><li><ahref="LremCommand.html">LREM</a><i>key</i><i>count</i><i>value</i><codename="code"class="python">Remove the first-N, last-N, or all the elements matching value from the List at key</code></li><li><ahref="LpopCommand.html">LPOP</a><i>key</i><codename="code"class="python">Return and remove (atomically) the first element of the List at key</code></li><li><ahref="LpopCommand.html">RPOP</a><i>key</i><codename="code"class="python">Return and remove (atomically) the last element of the List at key</code></li></ul>
<h2><aname="Commands operating on sets">Commands operating on sets</a></h2><ul><li><ahref="SaddCommand.html">SADD</a><i>key</i><i>member</i><codename="code"class="python">Add the specified member to the Set value at key</code></li><li><ahref="SremCommand.html">SREM</a><i>key</i><i>member</i><codename="code"class="python">Remove the specified member from the Set value at key</code></li><li><ahref="ScardCommand.html">SCARD</a><i>key</i><codename="code"class="python">Return the number of elements (the cardinality) of the Set at key</code></li><li><ahref="SismemberCommand.html">SISMEMBER</a><i>key</i><i>member</i><codename="code"class="python">Test if the specified value is a member of the Set at key</code></li><li><ahref="SinterCommand.html">SINTER</a><i>key1</i><i>key2</i> ... <i>keyN</i><codename="code"class="python">Return the intersection between the Sets stored at key1, key2, ..., keyN</code></li><li><ahref="SinterCommand.html">SINTERSTORE</a><i>dstkey</i><i>key1</i><i>key2</i> ... <i>keyN</i><codename="code"class="python">Compute the intersection between the Sets stored at key1, key2, ..., keyN, and store the resulting Set at dstkey</code></li><li><ahref="SmembersCommand.html">SMEMBERS</a><i>key</i><codename="code"class="python">Return all the members of the Set value at key</code></li></ul>
<h2><aname="Multiple databases handling commands">Multiple databases handling commands</a></h2><ul><li><ahref="SelectCommand.html">SELECT</a><i>index</i><codename="code"class="python">Select the DB having the specified index</code></li><li><ahref="MoveCommand.html">MOVE</a><i>key</i><i>dbindex</i><codename="code"class="python">Move the key from the currently selected DB to the DB having as index dbindex</code></li><li><ahref="FlushdbCommand.html">FLUSHDB</a><codename="code"class="python">Remove all the keys of the currently selected DB</code></li><li><ahref="FlushallCommand.html">FLUSHALL</a><codename="code"class="python">Remove all the keys from all the databases</code></li></ul>
<h2><aname="Sorting">Sorting</a></h2><ul><li><ahref="SortCommand.html">SORT</a><i>key</i> BY <i>pattern</i> LIMIT <i>start</i><i>end</i> GET <i>pattern</i> ASC|DESC ALPHA <codename="code"class="python">Sort a Set or a List accordingly to the specified parameters</code></li></ul>
<h2><aname="Persistence control commands">Persistence control commands</a></h2><ul><li><ahref="SaveCommand.html">SAVE</a><codename="code"class="python">Synchronously save the DB on disk</code></li><li><ahref="BgsaveCommand.html">BGSAVE</a><codename="code"class="python">Asynchronously save the DB on disk</code></li><li><ahref="LastsaveCommand.html">LASTSAVE</a><codename="code"class="python">Return the UNIX time stamp of the last successfully saving of the dataset on disk</code></li><li><ahref="ShutdownCommand.html">SHUTDOWN</a><codename="code"class="python">Synchronously save the DB on disk, then shutdown the server</code></li></ul>
<h2><aname="Remote server control commands">Remote server control commands</a></h2><ul><li><ahref="InfoCommand.html">INFO</a><codename="code"class="python">provide information and statistics about the server</code></li></ul>
<h2><aname="Remote server control commands">Remote server control commands</a></h2><ul><li><ahref="InfoCommand.html">INFO</a><codename="code"class="python">Provide information and statistics about the server</code></li><li><ahref="MonitorCommand.html">MONITOR</a><codename="code"class="python">Dump all the received requests in real time</code></li></ul>
<h1><aname="MONITOR">MONITOR</a></h1><blockquote>MONITOR is a debugging command that outputs the whole sequence of commandsreceived by the Redis server. is very handy in order to understandwhat is happening into the database. This command is used directlyvia telnet.</blockquote>
<preclass="codeblock python"name="code">
% telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to segnalo-local.com.
Escape character is '^]'.
MONITOR
+OK
monitor
keys *
dbsize
set x 6
foobar
get x
del x
get x
set key_x 5
hello
set key_y 5
hello
set key_z 5
hello
set foo_a 5
hello
</pre><blockquote>The ability to see all the requests processed by the server is useful in orderto spot bugs in the application both when using Redis as a database and asa distributed caching system.</blockquote>
<blockquote>In order to end a monitoring session just issue a QUIT command by hand.</blockquote>
<h2><aname="Return value">Return value</a></h2><b>Non standard return value</b>, just dumps the received commands in an infinite flow.<h2><aname="See also">See also</a></h2>