8.2. We are also gradually adding changes introduced in later versions.
Most of the unsupported items are in our roadmap. If you need a feature that we do not support, please drop a note to [email protected].
So we can inform you when we are planning to support it.
Supported Commands
Bitmap
Bitmap
Connection
Connection
AUTH
Authenticate to the server
CLIENT GETNAME
Get the current connection name
CLIENT ID
Get the current client ID
CLIENT INFO
Get info about current connection
CLIENT LIST
List all client connections
CLIENT SETINFO
Set client connection attributes
CLIENT SETNAME
Set the connection name
ECHO
Echo the given string
HELLO
Handshake with Redis protocol
PING
Ping the server
QUIT
Close the connection
RESET
Reset the connection
SELECT
Select the database by index
Functions
Functions
Generic
Generic
COPY
Copy a key to another key
DEL
Delete one or more keys
DUMP
Serialize a key’s value
EXISTS
Check if keys exist
EXPIRE
Set a key’s TTL in seconds
EXPIREAT
Set expiry as Unix timestamp
EXPIRETIME
Get expiry as Unix timestamp
KEYS
Find keys matching a pattern
PERSIST
Remove the expiration from a key
PEXPIRE
Set a key’s TTL in milliseconds
PEXPIREAT
Set expiry as Unix ms timestamp
PEXPIRETIME
Get expiry as Unix ms timestamp
PTTL
Get TTL in milliseconds
RANDOMKEY
Return a random key
RENAME
Rename a key
RENAMENX
Rename a key if new key doesn’t exist
RESTORE
Deserialize and restore a key
SCAN
Incrementally iterate keys
TOUCH
Update last access time of keys
TTL
Get TTL in seconds
TYPE
Get the type of a key
UNLINK
Delete keys asynchronously
Geo
Geo
GEOADD
Add geospatial items
GEODIST
Get distance between two members
GEOHASH
Get geohash strings for members
GEOPOS
Get coordinates of members
GEORADIUS
Query members within radius
GEORADIUS_RO
Read-only radius query
GEORADIUSBYMEMBER
Radius query centered on member
GEORADIUSBYMEMBER_RO
Read-only radius query by member
GEOSEARCH
Search for members in an area
GEOSEARCHSTORE
Store geosearch results
Hash
Hash
HDEL
Delete one or more hash fields
HEXISTS
Check if a hash field exists
HEXPIRE
Set field TTL in seconds
HEXPIREAT
Set field expiry as timestamp
HEXPIRETIME
Get field expiry as timestamp
HGET
Get the value of a hash field
HGETALL
Get all fields and values
HGETDEL
Get and delete hash fields
HGETEX
Get fields and set their expiry
HINCRBY
Increment integer value of a field
HINCRBYFLOAT
Increment float value of a field
HKEYS
Get all fields in a hash
HLEN
Get number of fields in a hash
HMGET
Get values of multiple fields
HMSET
Set multiple hash fields
HPERSIST
Remove field expiration
HPEXPIRE
Set field TTL in milliseconds
HPEXPIREAT
Set field expiry as ms timestamp
HPEXPIRETIME
Get field expiry as ms timestamp
HPTTL
Get field TTL in milliseconds
HRANDFIELD
Get random fields from a hash
HSCAN
Incrementally iterate hash fields
HSET
Set hash field values
HSETEX
Set fields with expiration
HSETNX
Set field only if it doesn’t exist
HSTRLEN
Get length of a field’s value
HTTL
Get field TTL in seconds
HVALS
Get all values in a hash
HyperLogLog
HyperLogLog
JSON
JSON
JSON.ARRAPPEND
Append values to JSON array
JSON.ARRINDEX
Find index of value in array
JSON.ARRINSERT
Insert values into JSON array
JSON.ARRLEN
Get JSON array length
JSON.ARRPOP
Pop value from JSON array
JSON.ARRTRIM
Trim JSON array to range
JSON.CLEAR
Clear JSON values
JSON.DEL
Delete JSON values
JSON.FORGET
Alias for JSON.DEL
JSON.GET
Get JSON values
JSON.MERGE
Merge JSON values
JSON.MGET
Get values from multiple keys
JSON.MSET
Set values in multiple keys
JSON.NUMINCRBY
Increment JSON number
JSON.NUMMULTBY
Multiply JSON number
JSON.OBJKEYS
Get JSON object keys
JSON.OBJLEN
Get JSON object size
JSON.RESP
Get JSON in RESP format
JSON.SET
Set JSON value
JSON.STRAPPEND
Append to JSON string
JSON.STRLEN
Get JSON string length
JSON.TOGGLE
Toggle JSON boolean
JSON.TYPE
Get JSON value type
List
List
BLMOVE
Blocking list move
BLMPOP
Blocking pop from multiple lists
BLPOP
Blocking left pop
BRPOP
Blocking right pop
BRPOPLPUSH
Blocking pop and push
LINDEX
Get element by index
LINSERT
Insert before or after pivot
LLEN
Get list length
LMOVE
Move element between lists
LMPOP
Pop from multiple lists
LPOP
Pop from list head
LPOS
Find element position
LPUSH
Push to list head
LPUSHX
Push to head if list exists
LRANGE
Get range of elements
LREM
Remove elements by value
LSET
Set element at index
LTRIM
Trim list to range
RPOP
Pop from list tail
RPOPLPUSH
Pop from tail and push to head
RPUSH
Push to list tail
RPUSHX
Push to tail if list exists
Pub/Sub
Pub/Sub
Scripting
Scripting
Server
Server
Set
Set
SADD
Add members to a set
SCARD
Get set cardinality
SDIFF
Get set difference
SDIFFSTORE
Store set difference
SINTER
Get set intersection
SINTERCARD
Get intersection cardinality
SINTERSTORE
Store set intersection
SISMEMBER
Check if member exists in set
SMEMBERS
Get all set members
SMISMEMBER
Check multiple members
SMOVE
Move member between sets
SPOP
Remove random members
SRANDMEMBER
Get random members
SREM
Remove members from a set
SSCAN
Incrementally iterate set members
SUNION
Get set union
SUNIONSTORE
Store set union
Sorted Set
Sorted Set
BZMPOP
Blocking pop from sorted sets
BZPOPMAX
Blocking pop max score member
BZPOPMIN
Blocking pop min score member
ZADD
Add members with scores
ZCARD
Get sorted set cardinality
ZCOUNT
Count members in score range
ZDIFF
Get sorted set difference
ZDIFFSTORE
Store sorted set difference
ZINCRBY
Increment member’s score
ZINTER
Get sorted set intersection
ZINTERCARD
Get intersection cardinality
ZINTERSTORE
Store sorted set intersection
ZLEXCOUNT
Count members in lex range
ZMPOP
Pop members from sorted sets
ZMSCORE
Get scores of multiple members
ZPOPMAX
Pop members with highest scores
ZPOPMIN
Pop members with lowest scores
ZRANDMEMBER
Get random members
ZRANGE
Get members by index range
ZRANGEBYLEX
Get members by lex range
ZRANGEBYSCORE
Get members by score range
ZRANGESTORE
Store range result
ZRANK
Get member’s rank
ZREM
Remove members
ZREMRANGEBYLEX
Remove members by lex range
ZREMRANGEBYRANK
Remove members by rank range
ZREMRANGEBYSCORE
Remove members by score range
ZREVRANGE
Get members in reverse order
ZREVRANGEBYLEX
Reverse lex range query
ZREVRANGEBYSCORE
Reverse score range query
ZREVRANK
Get member’s reverse rank
ZSCAN
Incrementally iterate sorted set
ZSCORE
Get member’s score
ZUNION
Get sorted set union
ZUNIONSTORE
Store sorted set union
Streams
Streams
XACK
Acknowledge stream messages
XACKDEL
Acknowledge and delete messages
XADD
Add entry to stream
XAUTOCLAIM
Auto-claim idle messages
XCLAIM
Claim pending messages
XDEL
Delete stream entries
XDELEX
Delete entries with expiration
XGROUP
Manage consumer groups
XINFO CONSUMERS
List group consumers
XINFO GROUPS
List stream groups
XINFO STREAM
Get stream info
XLEN
Get stream length
XPENDING
Get pending messages info
XRANGE
Get range of stream entries
XREAD
Read stream entries
XREADGROUP
Read as consumer group
XREVRANGE
Get range in reverse order
XTRIM
Trim stream to max length
String
String
APPEND
Append value to a string
DECR
Decrement integer value by 1
DECRBY
Decrement integer by amount
GET
Get string value
GETDEL
Get value and delete key
GETEX
Get value and set expiration
GETRANGE
Get substring of string
GETSET
Set value and return old value
INCR
Increment integer value by 1
INCRBY
Increment integer by amount
INCRBYFLOAT
Increment float by amount
MGET
Get values of multiple keys
MSET
Set multiple keys at once
MSETNX
Set multiple keys if none exist
PSETEX
Set value with ms expiration
SET
Set string value
SETEX
Set value with expiration
SETNX
Set value if key doesn’t exist
SETRANGE
Overwrite part of string
STRLEN
Get string length
We run command integration tests from the following Redis clients after each code change and also periodically: