2 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN">
5 <link type=
"text/css" rel=
"stylesheet" href=
"style.css" />
12 <img style=
"border:none" alt=
"Redis Documentation" src=
"redis.png">
16 <div id=
"pagecontent">
18 <!-- This is a (PRE) block. Make sure it's left aligned or your toc title will be off. -->
19 <b>CommandReference: Contents
</b><br> <a href=
"#Connection handling">Connection handling
</a><br> <a href=
"#Commands operating on all the kind of values">Commands operating on all the kind of values
</a><br> <a href=
"#Commands operating on string values">Commands operating on string values
</a><br> <a href=
"#Commands operating on lists">Commands operating on lists
</a><br> <a href=
"#Commands operating on sets">Commands operating on sets
</a><br> <a href=
"#Commands operating on sorted sets (zsets, Redis version >">Commands operating on sorted sets (zsets, Redis version
></a><br> <a href=
"#Commands operating on hashes">Commands operating on hashes
</a><br> <a href=
"#Sorting">Sorting
</a><br> <a href=
"#Transactions">Transactions
</a><br> <a href=
"#Publish/Subscribe">Publish/Subscribe
</a><br> <a href=
"#Persistence control commands">Persistence control commands
</a><br> <a href=
"#Remote server control commands">Remote server control commands
</a>
22 <h1 class=
"wikiname">CommandReference
</h1>
29 = Redis Command Reference =
<br/><br/>Every command name links to a specific wiki page describing the behavior of the command.
<h2><a name=
"Connection handling">Connection handling
</a></h2><ul><li> <a href=
"QuitCommand.html">QUIT
</a> <code name=
"code" class=
"python">close the connection
</code></li><li> <a href=
"AuthCommand.html">AUTH
</a> <code name=
"code" class=
"python">simple password authentication if enabled
</code></li></ul>
30 <h2><a name=
"Commands operating on all the kind of values">Commands operating on all the kind of values
</a></h2><ul><li> <a href=
"ExistsCommand.html">EXISTS
</a> <i>key
</i> <code name=
"code" class=
"python">test if a key exists
</code></li><li> <a href=
"DelCommand.html">DEL
</a> <i>key
</i> <code name=
"code" class=
"python">delete a key
</code></li><li> <a href=
"TypeCommand.html">TYPE
</a> <i>key
</i> <code name=
"code" class=
"python">return the type of the value stored at key
</code></li><li> <a href=
"KeysCommand.html">KEYS
</a> <i>pattern
</i> <code name=
"code" class=
"python">return all the keys matching a given pattern
</code></li><li> <a href=
"RandomkeyCommand.html">RANDOMKEY
</a> <code name=
"code" class=
"python">return a random key from the key space
</code></li><li> <a href=
"RenameCommand.html">RENAME
</a> <i>oldname
</i> <i>newname
</i> <code name=
"code" class=
"python">rename the old key in the new one, destroing the newname key if it already exists
</code></li><li> <a href=
"RenamenxCommand.html">RENAMENX
</a> <i>oldname
</i> <i>newname
</i> <code name=
"code" class=
"python">rename the old key in the new one, if the newname key does not already exist
</code></li><li> <a href=
"DbsizeCommand.html">DBSIZE
</a> <code name=
"code" class=
"python">return the number of keys in the current db
</code></li><li> <a href=
"ExpireCommand.html">EXPIRE
</a> <code name=
"code" class=
"python">set a time to live in seconds on a key
</code></li><li> <a href=
"TtlCommand.html">TTL
</a> <code name=
"code" class=
"python">get the time to live in seconds of a key
</code></li><li> <a href=
"SelectCommand.html">SELECT
</a> <i>index
</i> <code name=
"code" class=
"python">Select the DB having the specified index
</code></li><li> <a href=
"MoveCommand.html">MOVE
</a> <i>key
</i> <i>dbindex
</i> <code name=
"code" class=
"python">Move the key from the currently selected DB to the DB having as index dbindex
</code></li><li> <a href=
"FlushdbCommand.html">FLUSHDB
</a> <code name=
"code" class=
"python">Remove all the keys of the currently selected DB
</code></li><li> <a href=
"FlushallCommand.html">FLUSHALL
</a> <code name=
"code" class=
"python">Remove all the keys from all the databases
</code></li></ul>
31 <h2><a name=
"Commands operating on string values">Commands operating on string values
</a></h2><ul><li> <a href=
"SetCommand.html">SET
</a> <i>key
</i> <i>value
</i> <code name=
"code" class=
"python">set a key to a string value
</code></li><li> <a href=
"GetCommand.html">GET
</a> <i>key
</i> <code name=
"code" class=
"python">return the string value of the key
</code></li><li> <a href=
"GetsetCommand.html">GETSET
</a> <i>key
</i> <i>value
</i> <code name=
"code" class=
"python">set a key to a string returning the old value of the key
</code></li><li> <a href=
"MgetCommand.html">MGET
</a> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <code name=
"code" class=
"python">multi-get, return the strings values of the keys
</code></li><li> <a href=
"SetnxCommand.html">SETNX
</a> <i>key
</i> <i>value
</i> <code name=
"code" class=
"python">set a key to a string value if the key does not exist
</code></li><li> <a href=
"SetexCommand.html">SETEX
</a> <i>key
</i> <i>time
</i> <i>value
</i> <code name=
"code" class=
"python">Set+Expire combo command
</code></li><li> <a href=
"MsetCommand.html">MSET
</a> <i>key1
</i> <i>value1
</i> <i>key2
</i> <i>value2
</i> ...
<i>keyN
</i> <i>valueN
</i> <code name=
"code" class=
"python">set a multiple keys to multiple values in a single atomic operation
</code></li><li> <a href=
"MsetCommand.html">MSETNX
</a> <i>key1
</i> <i>value1
</i> <i>key2
</i> <i>value2
</i> ...
<i>keyN
</i> <i>valueN
</i> <code name=
"code" class=
"python">set a multiple keys to multiple values in a single atomic operation if none of the keys already exist
</code></li><li> <a href=
"IncrCommand.html">INCR
</a> <i>key
</i> <code name=
"code" class=
"python">increment the integer value of key
</code></li><li> <a href=
"IncrCommand.html">INCRBY
</a> <i>key
</i> <i>integer
</i><code name=
"code" class=
"python"> increment the integer value of key by integer
</code></li><li> <a href=
"IncrCommand.html">DECR
</a> <i>key
</i> <code name=
"code" class=
"python">decrement the integer value of key
</code></li><li> <a href=
"IncrCommand.html">DECRBY
</a> <i>key
</i> <i>integer
</i> <code name=
"code" class=
"python">decrement the integer value of key by integer
</code></li><li> <a href=
"AppendCommand.html">APPEND
</a> <i>key
</i> <i>value
</i> <code name=
"code" class=
"python">append the specified string to the string stored at key
</code></li><li> <a href=
"SubstrCommand.html">SUBSTR
</a> <i>key
</i> <i>start
</i> <i>end
</i> <code name=
"code" class=
"python">return a substring out of a larger string
</code></li></ul>
32 <h2><a name=
"Commands operating on lists">Commands operating on lists
</a></h2><ul><li> <a href=
"RpushCommand.html">RPUSH
</a> <i>key
</i> <i>value
</i> <code name=
"code" class=
"python">Append an element to the tail of the List value at key
</code></li><li> <a href=
"RpushCommand.html">LPUSH
</a> <i>key
</i> <i>value
</i> <code name=
"code" class=
"python">Append an element to the head of the List value at key
</code></li><li> <a href=
"LlenCommand.html">LLEN
</a> <i>key
</i> <code name=
"code" class=
"python">Return the length of the List value at key
</code></li><li> <a href=
"LrangeCommand.html">LRANGE
</a> <i>key
</i> <i>start
</i> <i>end
</i> <code name=
"code" class=
"python">Return a range of elements from the List at key
</code></li><li> <a href=
"LtrimCommand.html">LTRIM
</a> <i>key
</i> <i>start
</i> <i>end
</i> <code name=
"code" class=
"python">Trim the list at key to the specified range of elements
</code></li><li> <a href=
"LindexCommand.html">LINDEX
</a> <i>key
</i> <i>index
</i> <code name=
"code" class=
"python">Return the element at index position from the List at key
</code></li><li> <a href=
"LsetCommand.html">LSET
</a> <i>key
</i> <i>index
</i> <i>value
</i> <code name=
"code" class=
"python">Set a new value as the element at index position of the List at key
</code></li><li> <a href=
"LremCommand.html">LREM
</a> <i>key
</i> <i>count
</i> <i>value
</i> <code name=
"code" class=
"python">Remove the first-N, last-N, or all the elements matching value from the List at key
</code></li><li> <a href=
"LpopCommand.html">LPOP
</a> <i>key
</i> <code name=
"code" class=
"python">Return and remove (atomically) the first element of the List at key
</code></li><li> <a href=
"LpopCommand.html">RPOP
</a> <i>key
</i> <code name=
"code" class=
"python">Return and remove (atomically) the last element of the List at key
</code></li><li> <a href=
"BlpopCommand.html">BLPOP
</a> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <i>timeout
</i> <code name=
"code" class=
"python">Blocking LPOP
</code></li><li> <a href=
"BlpopCommand.html">BRPOP
</a> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <i>timeout
</i> <code name=
"code" class=
"python">Blocking RPOP
</code></li><li> <a href=
"RpoplpushCommand.html">RPOPLPUSH
</a> <i>srckey
</i> <i>dstkey
</i> <code name=
"code" class=
"python">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_
</code></li></ul>
33 <h2><a name=
"Commands operating on sets">Commands operating on sets
</a></h2><ul><li> <a href=
"SaddCommand.html">SADD
</a> <i>key
</i> <i>member
</i> <code name=
"code" class=
"python">Add the specified member to the Set value at key
</code></li><li> <a href=
"SremCommand.html">SREM
</a> <i>key
</i> <i>member
</i> <code name=
"code" class=
"python">Remove the specified member from the Set value at key
</code></li><li> <a href=
"SpopCommand.html">SPOP
</a> <i>key
</i> <code name=
"code" class=
"python">Remove and return (pop) a random element from the Set value at key
</code></li><li> <a href=
"SmoveCommand.html">SMOVE
</a> <i>srckey
</i> <i>dstkey
</i> <i>member
</i> <code name=
"code" class=
"python">Move the specified member from one Set to another atomically
</code></li><li> <a href=
"ScardCommand.html">SCARD
</a> <i>key
</i> <code name=
"code" class=
"python">Return the number of elements (the cardinality) of the Set at key
</code></li><li> <a href=
"SismemberCommand.html">SISMEMBER
</a> <i>key
</i> <i>member
</i> <code name=
"code" class=
"python">Test if the specified value is a member of the Set at key
</code></li><li> <a href=
"SinterCommand.html">SINTER
</a> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <code name=
"code" class=
"python">Return the intersection between the Sets stored at key1, key2, ..., keyN
</code></li><li> <a href=
"SinterstoreCommand.html">SINTERSTORE
</a> <i>dstkey
</i> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <code name=
"code" class=
"python">Compute the intersection between the Sets stored at key1, key2, ..., keyN, and store the resulting Set at dstkey
</code></li><li> <a href=
"SunionCommand.html">SUNION
</a> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <code name=
"code" class=
"python">Return the union between the Sets stored at key1, key2, ..., keyN
</code></li><li> <a href=
"SunionstoreCommand.html">SUNIONSTORE
</a> <i>dstkey
</i> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <code name=
"code" class=
"python">Compute the union between the Sets stored at key1, key2, ..., keyN, and store the resulting Set at dstkey
</code></li><li> <a href=
"SdiffCommand.html">SDIFF
</a> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <code name=
"code" class=
"python">Return the difference between the Set stored at key1 and all the Sets key2, ..., keyN
</code></li><li> <a href=
"SdiffstoreCommand.html">SDIFFSTORE
</a> <i>dstkey
</i> <i>key1
</i> <i>key2
</i> ...
<i>keyN
</i> <code name=
"code" class=
"python">Compute the difference between the Set key1 and all the Sets key2, ..., keyN, and store the resulting Set at dstkey
</code></li><li> <a href=
"SmembersCommand.html">SMEMBERS
</a> <i>key
</i> <code name=
"code" class=
"python">Return all the members of the Set value at key
</code></li><li> <a href=
"SrandmemberCommand.html">SRANDMEMBER
</a> <i>key
</i> <code name=
"code" class=
"python">Return a random member of the Set value at key
</code></li></ul>
34 <h2><a name=
"Commands operating on sorted sets (zsets, Redis version >">Commands operating on sorted sets (zsets, Redis version
></a></h2> 1.1) ==
<br/><br/><ul><li> <a href=
"ZaddCommand.html">ZADD
</a> <i>key
</i> <i>score
</i> <i>member
</i> <code name=
"code" class=
"python">Add the specified member to the Sorted Set value at key or update the score if it already exist
</code></li><li> <a href=
"ZremCommand.html">ZREM
</a> <i>key
</i> <i>member
</i> <code name=
"code" class=
"python">Remove the specified member from the Sorted Set value at key
</code></li><li> <a href=
"ZincrbyCommand.html">ZINCRBY
</a> <i>key
</i> <i>increment
</i> <i>member
</i> <code name=
"code" class=
"python">If the member already exists increment its score by _increment_, otherwise add the member setting _increment_ as score
</code></li><li> <a href=
"ZrankCommand.html">ZRANK
</a> <i>key
</i> <i>member
</i> <code name=
"code" class=
"python">Return the rank (or index) or _member_ in the sorted set at _key_, with scores being ordered from low to high
</code></li><li> <a href=
"ZrankCommand.html">ZREVRANK
</a> <i>key
</i> <i>member
</i> <code name=
"code" class=
"python">Return the rank (or index) or _member_ in the sorted set at _key_, with scores being ordered from high to low
</code></li><li> <a href=
"ZrangeCommand.html">ZRANGE
</a> <i>key
</i> <i>start
</i> <i>end
</i> <code name=
"code" class=
"python">Return a range of elements from the sorted set at key
</code></li><li> <a href=
"ZrangeCommand.html">ZREVRANGE
</a> <i>key
</i> <i>start
</i> <i>end
</i> <code name=
"code" class=
"python">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
</code></li><li> <a href=
"ZrangebyscoreCommand.html">ZRANGEBYSCORE
</a> <i>key
</i> <i>min
</i> <i>max
</i> <code name=
"code" class=
"python">Return all the elements with score
>= min and score
<= max (a range query) from the sorted set
</code></li><li> <a href=
"ZcardCommand.html">ZCARD
</a> <i>key
</i> <code name=
"code" class=
"python">Return the cardinality (number of elements) of the sorted set at key
</code></li><li> <a href=
"ZscoreCommand.html">ZSCORE
</a> <i>key
</i> <i>element
</i> <code name=
"code" class=
"python">Return the score associated with the specified element of the sorted set at key
</code></li><li> <a href=
"ZremrangebyrankCommand.html">ZREMRANGEBYRANK
</a> <i>key
</i> <i>min
</i> <i>max
</i> <code name=
"code" class=
"python">Remove all the elements with rank
>= min and rank
<= max from the sorted set
</code></li><li> <a href=
"ZremrangebyscoreCommand.html">ZREMRANGEBYSCORE
</a> <i>key
</i> <i>min
</i> <i>max
</i> <code name=
"code" class=
"python">Remove all the elements with score
>= min and score
<= max from the sorted set
</code></li><li> <a href=
"ZunionCommand.html">ZUNION / ZINTER
</a> <i>dstkey
</i> <i>N
</i> <i>key1
</i> ...
<i>keyN
</i> WEIGHTS
<i>w1
</i> ...
<i>wN
</i> AGGREGATE SUM|MIN|MAX
<code name=
"code" class=
"python">Perform a union or intersection over a number of sorted sets with optional weight and aggregate
</code></li></ul>
35 <h2><a name=
"Commands operating on hashes">Commands operating on hashes
</a></h2><ul><li> <a href=
"HsetCommand.html">HSET
</a> <i>key
</i> <i>field
</i> <i>value
</i> <code name=
"code" class=
"python">Set the hash field to the specified value. Creates the hash if needed.
</code></li><li> <a href=
"HgetCommand.html">HGET
</a> <i>key
</i> <i>field
</i> <code name=
"code" class=
"python">Retrieve the value of the specified hash field.
</code></li><li> <a href=
"HmsetCommand.html">HMSET
</a> <i>key
</i> <i>field1
</i> <i>value1
</i> ...
<i>fieldN
</i> <i>valueN
</i> <code name=
"code" class=
"python">Set the hash fields to their respective values.
</code></li><li> <a href=
"HincrbyCommand.html">HINCRBY
</a> <i>key
</i> <i>field
</i> <i>integer
</i> <code name=
"code" class=
"python">Increment the integer value of the hash at _key_ on _field_ with _integer_.
</code></li><li> <a href=
"HexistsCommand.html">HEXISTS
</a> <i>key
</i> <i>field
</i> <code name=
"code" class=
"python">Test for existence of a specified field in a hash
</code></li><li> <a href=
"HdelCommand.html">HDEL
</a> <i>key
</i> <i>field
</i> <code name=
"code" class=
"python">Remove the specified field from a hash
</code></li><li> <a href=
"HlenCommand.html">HLEN
</a> <i>key
</i> <code name=
"code" class=
"python">Return the number of items in a hash.
</code></li><li> <a href=
"HgetallCommand.html">HKEYS
</a> <i>key
</i> <code name=
"code" class=
"python">Return all the fields in a hash.
</code></li><li> <a href=
"HgetallCommand.html">HVALS
</a> <i>key
</i> <code name=
"code" class=
"python">Return all the values in a hash.
</code></li><li> <a href=
"HgetallCommand.html">HGETALL
</a> <i>key
</i> <code name=
"code" class=
"python">Return all the fields and associated values in a hash.
</code></li></ul>
36 <h2><a name=
"Sorting">Sorting
</a></h2><ul><li> <a href=
"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
<code name=
"code" class=
"python">Sort a Set or a List accordingly to the specified parameters
</code></li></ul>
37 <h2><a name=
"Transactions">Transactions
</a></h2><ul><li> <a href=
"MultiExecCommand.html">MULTI/EXEC/DISCARD
</a> <code name=
"code" class=
"python">Redis atomic transactions
</code></li></ul>
38 <h2><a name=
"Publish/Subscribe">Publish/Subscribe
</a></h2><ul><li> <a href=
"PublishSubscribe.html">SUBSCRIBE/UNSUBSCRIBE/PUBLISH
</a> <code name=
"code" class=
"python">Redis Public/Subscribe messaging paradigm implementation
</code></li></ul>
39 <h2><a name=
"Persistence control commands">Persistence control commands
</a></h2><ul><li> <a href=
"SaveCommand.html">SAVE
</a> <code name=
"code" class=
"python">Synchronously save the DB on disk
</code></li><li> <a href=
"BgsaveCommand.html">BGSAVE
</a> <code name=
"code" class=
"python">Asynchronously save the DB on disk
</code></li><li> <a href=
"LastsaveCommand.html">LASTSAVE
</a> <code name=
"code" class=
"python">Return the UNIX time stamp of the last successfully saving of the dataset on disk
</code></li><li> <a href=
"ShutdownCommand.html">SHUTDOWN
</a> <code name=
"code" class=
"python">Synchronously save the DB on disk, then shutdown the server
</code></li><li> <a href=
"BgrewriteaofCommand.html">BGREWRITEAOF
</a> <code name=
"code" class=
"python">Rewrite the append only file in background when it gets too big
</code></li></ul>
40 <h2><a name=
"Remote server control commands">Remote server control commands
</a></h2><ul><li> <a href=
"InfoCommand.html">INFO
</a> <code name=
"code" class=
"python">Provide information and statistics about the server
</code></li><li> <a href=
"MonitorCommand.html">MONITOR
</a> <code name=
"code" class=
"python">Dump all the received requests in real time
</code></li><li> <a href=
"SlaveofCommand.html">SLAVEOF
</a> <code name=
"code" class=
"python">Change the replication settings
</code></li></ul>