Plaintext
REDIS cheatsheet [v1.0]
starting the server cd redis; ./redis-server
running the client ./redis-cli <command>
commands
Test if specified key exists.
exists key Return: 1 if exists, 0 if not
Remove the specified keys.
del key1 key2 ... keyN Return: integer > 0 if keys removed, 0 if none of the keys existed
Return the type of the value stored at key, as a string.
type key Return: "none", "string", "list", "set"
Return all keys matching pattern. Ex: keys h*llo, keys h?llo, keys h[aeo]llo
keys pattern Return: bulk reply string with keys separated by spaces
Return a randomly-selected key from the current database.
randomkey Return: the selected key, or empty string if database is empty
generic commands for all types
Atomically renames key. Note: If newkey exists it is overwritten.
rename oldkey newkey Return: 1 if OK, 0 if oldkey doesn't exist or if it equals newkey
Atomically renames key, fails if newkey exists.
renamenx oldkey newkey Return: 1 if OK, 0 if newkey exists, if oldkey doesn't exist or if it equals newkey
Returns the number of keys in the current database.
dbsize Return: integer, the number of keys
expire key seconds Sets timeout on the specified key.
expireat key unixtime Return: 1 if timeout set, 0 if key already has a timeout or doesn't exist
Returns remaining time to live, in seconds, for a key with EXPIRE set.
ttl key Return: integer number of seconds, or -1 if key doesn't exist or has no expiration
Selects a database by index (zero-based). Default database is 0.
select db-index Return: 1 if OK, 0 if error
Moves a key from current database to specified database.
move key db-index Return: 1 if OK, 0 if key doesn't exist or is already present in the target database
Deletes all keys in the currently-selected database.
flushdb Return: 1 -- this command never fails
Deletes all keys in all existing databases.
flushall Return: 1 -- this command never fails
set key value Sets the value of key to the string value; setnx will not overwrite an existing value.
setnx key value Return: 1 if OK, 0 if error
Gets the value of key.
get key Return: string value if OK, "nil" if key does not exist
commands for strings
Atomically sets the value of key to the string value and returns old value of key.
getset key value Return: value of key prior to the new value being set ("nil" if key did not exist)
Gets the values of all specified keys.
mget key1 key2 ... keyN Return: multi-bulk reply of all values, with "nil" for any keys that do not exist
mset key1 value1 ... keyN valueN Sets the values of the keys to the string values; msetnx will not overwrite existing
msetnx key1 value1 ... keyN valueN values if any key exists. Return: 1 if all keys were set, 0 if none were set
incr key Increments/decrements value of key by 1.
decr key Return: New value after increment/decrement operation
incrby key integer Increments/decrements value of key by the integer value specified.
decrby key integer Return: New value after increment/decrement operation
REDIS cheatsheet page 2
rpush key string Adds the string to the head (rpush) or tail (lpush) of the list at key.
lpush key string Return: 1 if exists, 0 if key exists but is not a list
Returns the length of the list at key.
llen key Return: integer length, or error if key is not a list
Returns the elements of list at key, zero-based. Negative numbers are offset from
lrange key start end the end of the list. Return: requested elements or empty list if no match
commands operating on lists
Trims list at key to contain only the specified elements.
ltrim key start end Return: 1 if OK, error if key is not a list
Returns the element at the specified index of the list key.
lindex key index Return: the requested item; empty string if no such element; error if key isn't a list
Sets the element of list key at index to the specified value.
lset key index value Return: 1 if OK, error if index out of range or key isn't a list
Removes count number of items from the list that have the specified value. Count
lrem key count value 0 will remove all; negative count starts from the end. Return: # items removed
lpop key string Atomically removes and returns the first (lpop) or last (rpop) element from list
rpop key string key. Return: the element, or "nil" if empty/nonexistent list; error if key isn't a list
blpop key1...keyN timeout Blocking pop, returns when a specified list contains an element.
brpop key1...keyN timeout Return: key and popped value, or "nil" if operation times out
Atomically returns last element from srckey and pushes as first element to
rpoplpush srckey destkey destkey. Return: element popped/pushed, or "nil" if srckey empty or nonexistent
Adds member to the set stored at key.
sadd key member Return: 1 if OK, 0 if element was already a set member; error if key isn't a set
Removes member from set key.
srem key member Return: 1 if OK, 0 element not a set member; error if key isn't a set
spop key Returns random element from set key. spop will remove the element.
srandmember key Return: element, or nil object if key is empty or doesn't exist
commands operating on sets
Atomically moves member from set srckey to set dstkey.
smove srckey dstkey member
Return: 1 if OK, 0 if element not found in srckey; error if either key isn't a set
Returns the number of elements in set key.
scard key Return: integer number of elements; 0 if empty or key doesn't exist
Return whether member is in set key.
sismember key member Return: 1 if element is a member, 0 if not or if key doesn't exist
sinter key1 key2...keyN Returns the members resulting from intersection of sets specified. sinterstore will
sinterstore dstkey key1...keyN store results in new set and return status code.
sunion key1 key2...keyN Returns the members resulting from union of sets specified. sunionstore will store
sunionstore dstkey key1...keyN results in new set and return status code.
sdiff key1 key2...keyN Returns the members resulting from the difference between the first set and the
sdiffstore dstkey key1...keyN rest. sdiffstore will store results in new set and return status code.
Returns all of the members of set key. This is sinter, for only one set.
smembers key Return: the members
sort key [by pattern] [limit start count] [get pattern] [asc|desc] [alpha] [store dstkey]
Sorts the elements in the list, set, or sorted set at key. Default sort is numeric, ascending. Specifying asc or desc will sort in ascending or
descending order. Specifying alpha will sort alphabetically. limit will return count number of elements beginning at offset start (zero-
based). store will put the results of the sort into a list with key dstkey.
Specifying "by pattern" will sort using the values at keys generated using the pattern. For example, if the list/set being sorted contains the
values 1, 2, 3 then "sort by weight_*" will sort using the values at keys "weight_1", "weight_2", "weight_3".
Specifying "get pattern" will retrieve the values stored at keys generated using the pattern. For example, "get items_*" will return the
values at keys items_1, items_2, items_3 if the list/set being sorted contains the values 1, 2, 3.
REDIS cheatsheet page 3
Adds member to zset key, with specified score.
zadd key score member Return: 1 if added, 0 if element was already a member and score was updated
Removes member from zset key.
zrem key member
commands operating on sorted sets
Return: 1 if removed, 0 if element was not a member
Increments score of member by incr and updates element's position in zset.
zincrby key incr member Return: integer, the new score of member after the increment
zrange key start end Returns elements in zset key within the specified index range, sorted in order (or
zrevrange key start end reverse with zrevrange). Option: "withscores" will also return scores.
zrangebyscore key min max Returns elements in zset key with scores within the specified range.
[limit offset count] Option: "withscores" will also return scores.
zremrangebyscore key Removes elements from zset key with scores between min and max.
min max Return: integer, number of elements removed
Returns the number of elements in the zset key.
zcard key Return: integer, the number of elements; returns 0 if key doesn't exist
Returns the score of the specified element in zset key.
zscore key element Return: the score, as a string; or "nil" if key or element don't exist
Saves all databases to disk. Connection requests will not be served during the
save save. Returns OK when complete.
Saves all databases to disk in the background. Redis forks and writes so the
bgsave parent process continues to process connection requests.
Returns integer unix time of last successful save. This can be used following a
lastsave
persistence and control commands
bgsave to check if it was successful.
bgrewriteaof Rewrites the Append Only File in the background.
shutdown Stops all clients, saves databases, and quits.
info Returns information and statistics about the server.
Used to enter commands for debugging. Telnet to redis server then enter
monitor monitor command. Enter quit to end the session.
slaveof host port Makes server the replication slave of the redis server at host/port. The "no one"
slaveof no one form turns off replication, making the server a master.
quit Tells server to close the connection immediately.
Authorizes client using the provided password, if redis server is configured with
auth password requirepass. Returns OK or error if password is incorrect.
redis site: http://code.google.com/p/redis/
mailing list: http://groups.google.com/group/redis-db
redis cheat sheet v1.0 by mason jones, mar.2010 http://masonoise.wordpress.com
Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License