Redis Data Types Cheat Sheet

High-value Redis commands for lists, sets, hashes, and sorted sets used in queues, objects, tags, and leaderboards.

View
StandardDetailedCompact
Export
Copy the compact sheet, download it, or print it.
Download
`D` dense toggle · `C` copy all

Lists

Queues, stacks, blocking pops, and range access.

Push to head of list

Insert one or more elements at the head.

bashANYredislistqueue
bash
LPUSH jobs pending-1 pending-2

Push to tail of list

Insert one or more elements at the tail.

bashANYredislistqueue
bash
RPUSH jobs pending-1 pending-2

Pop from head

Remove and return the first element.

bashANYredislistpop
bash
LPOP jobs

Pop from tail

Remove and return the last element.

bashANYredislistpop
bash
RPOP jobs

Blocking pop from one or more lists

Wait up to 30 seconds for a new element.

bashANYredislistblocking
bash
BLPOP jobs urgent:jobs 30

Blocking pop from tail

Block until an element is available at the tail.

bashANYredislistblocking
bash
BRPOP jobs 30

List length

Return the number of elements in a list.

bashANYredislistlength
bash
LLEN jobs

Read a slice of a list

Get a range of list elements.

bashANYredislistread
bash
LRANGE jobs 0 9

Read one element by index

Return a list element by zero-based index.

bashANYredislistread
bash
LINDEX jobs 0

Overwrite a list element

Replace an element at a specific index.

bashANYredislistupdate
bash
LSET jobs 0 urgent-1

Trim a list to a window

Keep only a selected range of elements.

bashANYredislisttrim
bash
LTRIM jobs 0 99

Remove matching elements

Remove occurrences of a value.

bashANYredislistdelete
bash
LREM jobs 0 duplicate-job

Move from one list to another

Atomically move an item between lists.

bashANYredislistworkflow
bash
RPOPLPUSH source processing

Move between lists with direction control

Generalized replacement for RPOPLPUSH.

bashANYredislistworkflow
bash
LMOVE source destination RIGHT LEFT

Blocking LMOVE

Block until an element can be moved between lists.

bashANYredislistblocking
bash
BLMOVE source destination RIGHT LEFT 30

Find index of a list element

Find the first index of a matching element.

bashANYredislistsearch
bash
LPOS jobs urgent-1

Sets

Membership, uniqueness, intersections, and set algebra.

Add members to a set

Insert unique set members.

bashANYredissetsadd
bash
SADD tags:post:1 redis cache database

Remove members from a set

Remove members from a set.

bashANYredissetdelete
bash
SREM tags:post:1 cache

List all members

Return every member of a set.

bashANYredissetread
bash
SMEMBERS tags:post:1

Get set size

Return the number of unique members.

bashANYredissetcount
bash
SCARD tags:post:1

Check membership

Return whether a member exists in the set.

bashANYredissetmembership
bash
SISMEMBER tags:post:1 redis

Check multiple memberships

Test several possible members at once.

bashANYredissetmembership
bash
SMISMEMBER tags:post:1 redis cache nosql

Pop random members

Remove and return random set members.

bashANYredissetrandom
bash
SPOP queue:set 2

Read random members

Return random members without removing them.

bashANYredissetrandom
bash
SRANDMEMBER queue:set 3

Move member between sets

Move a member atomically.

bashANYredissetworkflow
bash
SMOVE online-users offline-users user:1

Union sets

Return members from either set.

bashANYredissetunion
bash
SUNION set:a set:b

Intersect sets

Return members common to all sets.

bashANYredissetintersection
bash
SINTER set:a set:b

Difference of sets

Return members in the first set but not others.

bashANYredissetdifference
bash
SDIFF set:a set:b

Store union result

Write the union into a destination set.

bashANYredissetunion
bash
SUNIONSTORE result:set set:a set:b

Store intersection result

Write the intersection into a destination set.

bashANYredissetintersection
bash
SINTERSTORE result:set set:a set:b

Store difference result

Write the difference into a destination set.

bashANYredissetdifference
bash
SDIFFSTORE result:set set:a set:b

Incrementally scan a set

Cursor-based iteration over large sets.

bashANYredissetscan
bash
SSCAN tags:post:1 0 MATCH re* COUNT 100

Hashes

Field/value structures for objects and sparse records.

Set one or more hash fields

Create or update hash fields.

bashANYredishashobject
bash
HSET user:1 name Alice email alice@example.com

Get one hash field

Read one field from a hash.

bashANYredishashread
bash
HGET user:1 name

Get multiple fields

Read several fields in one call.

bashANYredishashread
bash
HMGET user:1 name email

Get all fields and values

Read the full hash.

bashANYredishashread
bash
HGETALL user:1

List field names

Return all field names in a hash.

bashANYredishashread
bash
HKEYS user:1

List field values

Return all values in a hash.

bashANYredishashread
bash
HVALS user:1

Count fields

Return how many fields exist.

bashANYredishashcount
bash
HLEN user:1

Check whether a field exists

Return 1 if the field exists.

bashANYredishashexists
bash
HEXISTS user:1 email

Delete fields

Delete one or more fields.

bashANYredishashdelete
bash
HDEL user:1 email phone

Increment integer field

Atomically increment a numeric field.

bashANYredishashcounter
bash
HINCRBY counters:api hits 1

Increment float field

Atomically increment a float field.

bashANYredishashcounter
bash
HINCRBYFLOAT account:1 balance 9.99

Set a field only if absent

Write a field only if it does not exist.

bashANYredishashconditional
bash
HSETNX user:1 created_at 2026-03-06

Get random fields

Sample random fields from a hash.

bashANYredishashrandom
bash
HRANDFIELD user:1 2 WITHVALUES

Incrementally scan a hash

Cursor-based iteration over hash fields.

bashANYredishashscan
bash
HSCAN user:1 0 MATCH meta:* COUNT 100

Get field value length

Return the string length of a field value.

bashANYredishashinspect
bash
HSTRLEN user:1 name

Sorted sets

Ranked data, leaderboards, and range queries by score or rank.

Add scored members

Insert or update sorted-set scores.

bashANYrediszsetleaderboard
bash
ZADD leaderboard 100 alice 95 bob

Get a member score

Read a member's numeric score.

bashANYrediszsetscore
bash
ZSCORE leaderboard alice

Increment member score

Add to a member's score.

bashANYrediszsetscore
bash
ZINCRBY leaderboard 10 alice

Read by rank

Get members by ascending rank.

bashANYrediszsetrange
bash
ZRANGE leaderboard 0 9 WITHSCORES

Read highest-ranked members

Get members by descending rank.

bashANYrediszsetleaderboard
bash
ZREVRANGE leaderboard 0 9 WITHSCORES

Read by score interval

Get members in a score range.

bashANYrediszsetrange
bash
ZRANGEBYSCORE leaderboard 90 100 WITHSCORES

Read by score descending

Get members by descending score interval.

bashANYrediszsetrange
bash
ZREVRANGEBYSCORE leaderboard +inf 90 WITHSCORES

Find ascending rank

Return zero-based ascending rank.

bashANYrediszsetrank
bash
ZRANK leaderboard alice

Find descending rank

Return zero-based descending rank.

bashANYrediszsetrank
bash
ZREVRANK leaderboard alice

Remove members

Delete members from a sorted set.

bashANYrediszsetdelete
bash
ZREM leaderboard bob

Trim by rank

Remove all but top 100 members.

bashANYrediszsettrim
bash
ZREMRANGEBYRANK leaderboard 0 -101

Trim by score

Remove low-scoring members.

bashANYrediszsettrim
bash
ZREMRANGEBYSCORE leaderboard -inf 49

Count members in score range

Count how many members fall within a score range.

bashANYrediszsetcount
bash
ZCOUNT leaderboard 80 100

Count all members

Return sorted-set cardinality.

bashANYrediszsetcount
bash
ZCARD leaderboard

Store union of sorted sets

Combine multiple sorted sets into a destination key.

bashANYrediszsetunion
bash
ZUNIONSTORE combined 2 board:daily board:weekly

Store intersection of sorted sets

Intersect sorted sets into a destination key.

bashANYrediszsetintersection
bash
ZINTERSTORE common 2 board:a board:b

Incrementally scan a sorted set

Cursor-based scan over zset members and scores.

bashANYrediszsetscan
bash
ZSCAN leaderboard 0 MATCH a* COUNT 100

Recommended next

No recommendations yet.