Redis Command CheatSheet

Data Initialization

Here is the cheatsheet to initialize different Redis data types:

# String
SET key value
SET name "John Doe"

# List
RPUSH key element [element ...]
RPUSH numbers 1 2 3 4 5

# Set
SADD key member [member ...]
SADD colors red green blue

# Hash
HSET key field value [field value ...]
HSET user id 1 name "John Doe" email "[email protected]"

# Sorted set
ZADD key score member [score member ...]
ZADD scores 90 "John Doe" 80 "Jane Doe" 95 "Bob Smith"

Setting values for different data types in Redis

I was able to set the values for different data types. However, when I tried to use GET on a datatypes other than String, I got an error: “(error) WRONGTYPE Operation against a key holding the wrong kind of value”.

Key Commands

SET key value #: set a key to a value
GET key #: get the value of a key (string only)
DEL key #: delete a key
EXPIRE key seconds #: set a timeout on a key
TTL key #: get the remaining time to live of a key
KEYS pattern #: find all keys matching a pattern
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type] #: iterate over keys with a cursor
Basic Redis Keys commands

String Commands

APPEND key value #: append a value to a key
STRLEN key #: get the length of the value of a key
INCR key #: increment the value of a key by 1
DECR key #: decrement the value of a key by 1
INCRBY key increment #: increment the value of a key by a specified amount
DECRBY key decrement #: decrement the value of a key by a specified amount
Redis string operations

Hash Commands

HSET key field value #: set a field in a hash to a value
HGET key field #: get the value of a field in a hash
HDEL key field [field …] #: delete one or more fields from a hash
HGETALL key #: get all fields and values from a hash
HKEYS key #: get all fields from a hash
HVALS key #: get all values from a hash
HEXISTS key field #: check if a field exists in a hash
HLEN key #: get the number of fields in a hash

Here is an example of the operation on an actual hash:

# Initialize the hash
HMSET user name "John Doe" age 30 email "[email protected]"

# Get the value of a field
HGET user name   # Output: "John Doe"

# Get the values of multiple fields
HMGET user name age   # Output: 1) "John Doe" 2) "30"

# Get all fields and values
HGETALL user   # Output: 1) "name" 2) "John Doe" 3) "age" 4) "30" 5) "email" 6) "[email protected]"

# Get all fields
HKEYS user   # Output: 1) "name" 2) "age" 3) "email"

# Get all values
HVALS user   # Output: 1) "John Doe" 2) "30" 3) "[email protected]"

# Get the number of fields
HLEN user   # Output: 3

# Modify a field
HSET user age 31
HGET user age   # Output: "31"

# Increment a field
HINCRBY user age 1
HGET user age   # Output: "32"

# Delete a field
HDEL user email
HKEYS user   # Output: 1) "name" 2) "age"

Hash operations demonstration

List Commands

LPUSH key value [value …] #: prepend one or more values to a list
RPUSH key value [value …] #: append one or more values to a list
LPOP key #: remove and return the first element of a list
RPOP key #: remove and return the last element of a list
LINDEX key index #: get the element at a specified index in a list
LLEN key #: get the length of a list
LRANGE key start stop #: get a range of elements from a list
LREM key count value #: remove a specified number of occurrences of a value from a list

Let’s try the commands on an actual list:

# Initialize the list
LPUSH numbers 3 2 1

# Get the length of the list
LLEN numbers   # Output: 3

# Get an element by index
LINDEX numbers 1   # Output: "2"

# Get a range of elements
LRANGE numbers 0 1   # Output: 1) "1" 2) "2"

# Append an element
RPUSH numbers 4
LRANGE numbers 0 -1   # Output: 1) "1" 2) "2" 3) "3" 4) "4"

# Pop an element
LPOP numbers   # Output: "1"
RPOP numbers   # Output: "4"
LRANGE numbers 0 -1   # Output: 1) "2" 2) "3"

# Insert an element
LINSERT numbers BEFORE 2 1
LRANGE numbers 0 -1   # Output: 1) "1" 2) "2" 3) "3"

# Remove an element
LREM numbers 1 2
LRANGE numbers 0 -1   # Output: 1) "1" 2) "3"

# Trim the list
LTRIM numbers 0 0
LRANGE numbers 0 -1   # Output: 1) "1"
Redis operations on list

Set Commands

SADD key member [member …] #: add one or more members to a set
SREM key member [member …] #: remove one or more members from a set
SMEMBERS key #: get all members of a set
SISMEMBER key member #: check if a member exists in a set
SINTER key [key …] #: get the intersection of sets
SUNION key [key …] #: get the union of sets

Here are the commands on an actual set. Notice that since set is not an ordered datatype, the order of items when you run the following commands could be different:

# Initialize the set
SADD fruits apple banana orange

# Get the number of elements in the set
SCARD fruits   # Output: 3

# Check if an element is a member of the set
SISMEMBER fruits apple   # Output: 1 (true)

# Get all members of the set
SMEMBERS fruits   # Output: 1) "apple" 2) "banana" 3) "orange"

# Remove an element from the set
SREM fruits banana
SMEMBERS fruits   # Output: 1) "apple" 2) "orange"

# Add multiple elements to the set
SADD fruits pear peach
SMEMBERS fruits   # Output: 1) "apple" 2) "orange" 3) "pear" 4) "peach"

# Get the intersection of multiple sets
SADD fruits2 orange kiwi
SINTER fruits fruits2   # Output: 1) "orange"

# Get the union of multiple sets
SUNION fruits fruits2   # Output: 1) "apple" 2) "orange" 3) "pear" 4) "peach" 5) "kiwi"

# Get a random element from the set
SRANDMEMBER fruits   # Output: "pear"

Operations on a set

Sorted Set Commands

ZADD key score member [score member …] #: add one or more members with scores to a sorted set
ZREM key member [member …] #: remove one or more members from a sorted set
ZRANGE key start stop [WITHSCORES] #: The order of elements is from the lowest to the highest score. Elements with the same score are ordered lexicographically.
ZREVRANGE key start stop [WITHSCORES] #: Returns the specified range of elements in the sorted set stored at key. The elements are considered to be ordered from the highest to the lowest score.
ZSCORE key member #: get the score of a member in a sorted set

Here are the commands on an actual sorted set:

# Initialize the sorted set
ZADD scores 90 "Alice" 85 "Bob" 95 "Charlie"

# Get the number of elements in the sorted set
ZCARD scores   # Output: 3

# Get the rank of an element
ZRANK scores "Charlie"   # Output: 2

# Get the score of an element
ZSCORE scores "Bob"   # Output: 85

# Get a range of elements by rank
ZRANGE scores 0 1   # Output: 1) "Bob" 2) "Alice"

# Get a range of elements by score
ZRANGEBYSCORE scores 90 95   # Output: 1) "Alice" 2) "Charlie"

# Increment the score of an element
ZINCRBY scores 10 "Alice"
ZSCORE scores "Alice"   # Output: 100

# Remove an element from the sorted set
ZREM scores "Bob"
ZRANGE scores 0 -1   # Output: 1) "Charlie" 2) "Alice"

# Get the highest-scoring element(s)
ZREVRANGE scores 0 0   # Output: 1) "Alice"

Redis sorted set operations

Leave a Comment