Skip to content

Redis RESP3 Compatibility Matrix

Redis RESP3 Compatibility Matrix

Comprehensive compatibility reference for HeliosDB’s Redis RESP3 implementation.

Overall Compatibility: 90%

CategoryCoverageStatus
RESP3 Protocol100%Complete
String Commands100%Complete
List Commands100%Complete
Set Commands100%Complete
Sorted Set Commands100%Complete
Hash Commands100%Complete
Pub/Sub100%Complete
Streams100%Complete
Transactions100%Complete
Scripting80%Core functions

Protocol Support

RESP3 Features

FeatureStatusNotes
HELLO CommandSupportedProtocol negotiation
Push TypesSupportedServer-initiated messages
Set TypeSupportedUnordered collections
Double TypeSupportedNative floats
Boolean TypeSupportedTrue/false values
Big NumberSupportedLarge integers
Verbatim StringSupportedFormat-tagged strings
Map TypeSupportedKey-value pairs
Attribute TypeSupportedMetadata

Connection Commands

CommandStatusNotes
HELLOSupportedRESP3 negotiation
AUTHSupportedPassword + ACL
SELECTSupportedDatabase selection
PINGSupportedConnection test
ECHOSupportedEcho message
QUITSupportedClose connection
CLIENTSupportedClient management
CONFIGPartialRead-only settings

String Commands

CommandStatusNotes
SETSupportedAll options (EX, PX, NX, XX, KEEPTTL)
GETSupported
SETNXSupportedSet if not exists
SETEXSupportedSet with expiration
PSETEXSupportedSet with ms expiration
MSETSupportedMultiple set
MGETSupportedMultiple get
MSETNXSupportedMultiple set if none exist
INCRSupportedIncrement
INCRBYSupportedIncrement by value
INCRBYFLOATSupportedIncrement by float
DECRSupportedDecrement
DECRBYSupportedDecrement by value
APPENDSupportedAppend to string
STRLENSupportedString length
GETRANGESupportedSubstring
SETRANGESupportedReplace substring
GETSETSupportedGet and set atomically
GETEXSupportedGet and set expiration
GETDELSupportedGet and delete

List Commands

CommandStatusNotes
LPUSHSupportedLeft push
RPUSHSupportedRight push
LPUSHXSupportedLeft push if exists
RPUSHXSupportedRight push if exists
LPOPSupportedLeft pop
RPOPSupportedRight pop
BLPOPSupportedBlocking left pop
BRPOPSupportedBlocking right pop
LRANGESupportedRange query
LLENSupportedList length
LINDEXSupportedGet by index
LSETSupportedSet by index
LINSERTSupportedInsert before/after
LTRIMSupportedTrim to range
LREMSupportedRemove elements
LPOSSupportedFind position
LMOVESupportedMove between lists
BLMOVESupportedBlocking move

Set Commands

CommandStatusNotes
SADDSupportedAdd members
SREMSupportedRemove members
SMEMBERSSupportedGet all members
SISMEMBERSupportedCheck membership
SMISMEMBERSupportedCheck multiple
SCARDSupportedSet cardinality
SPOPSupportedPop random
SRANDMEMBERSupportedRandom member
SMOVESupportedMove between sets
SUNIONSupportedUnion
SUNIONSTORESupportedUnion and store
SINTERSupportedIntersection
SINTERSTORESupportedIntersection and store
SINTERCARDSupportedIntersection cardinality
SDIFFSupportedDifference
SDIFFSTORESupportedDifference and store
SSCANSupportedIterate set

Sorted Set Commands

CommandStatusNotes
ZADDSupportedAll options (NX, XX, GT, LT, CH)
ZREMSupportedRemove members
ZINCRBYSupportedIncrement score
ZSCORESupportedGet score
ZMSCORESupportedGet multiple scores
ZRANKSupportedGet rank
ZREVRANKSupportedGet reverse rank
ZRANGESupportedRange query
ZREVRANGESupportedReverse range
ZRANGEBYSCORESupportedRange by score
ZREVRANGEBYSCORESupportedReverse range by score
ZRANGEBYLEXSupportedRange by lex
ZCOUNTSupportedCount in score range
ZLEXCOUNTSupportedCount in lex range
ZCARDSupportedCardinality
ZPOPMINSupportedPop minimum
ZPOPMAXSupportedPop maximum
BZPOPMINSupportedBlocking pop min
BZPOPMAXSupportedBlocking pop max
ZUNIONSupportedUnion
ZUNIONSTORESupportedUnion and store
ZINTERSupportedIntersection
ZINTERSTORESupportedIntersection and store
ZDIFFSupportedDifference
ZDIFFSTORESupportedDifference and store
ZSCANSupportedIterate sorted set

Hash Commands

CommandStatusNotes
HSETSupportedSet field(s)
HGETSupportedGet field
HMSETSupportedSet multiple fields
HMGETSupportedGet multiple fields
HGETALLSupportedGet all fields
HDELSupportedDelete field(s)
HEXISTSSupportedCheck field exists
HLENSupportedHash length
HKEYSSupportedGet all keys
HVALSSupportedGet all values
HINCRBYSupportedIncrement field
HINCRBYFLOATSupportedIncrement by float
HSETNXSupportedSet if not exists
HSTRLENSupportedField string length
HRANDFIELDSupportedRandom field(s)
HSCANSupportedIterate hash

Stream Commands

CommandStatusNotes
XADDSupportedAdd entry
XREADSupportedRead entries
XREADGROUPSupportedConsumer group read
XRANGESupportedRange query
XREVRANGESupportedReverse range
XLENSupportedStream length
XINFOSupportedStream info
XGROUPSupportedConsumer group management
XACKSupportedAcknowledge entry
XCLAIMSupportedClaim pending entry
XAUTOCLAIMSupportedAuto-claim
XPENDINGSupportedPending entries
XTRIMSupportedTrim stream
XDELSupportedDelete entries

Pub/Sub Commands

CommandStatusNotes
SUBSCRIBESupportedSubscribe to channels
UNSUBSCRIBESupportedUnsubscribe
PSUBSCRIBESupportedPattern subscribe
PUNSUBSCRIBESupportedPattern unsubscribe
PUBLISHSupportedPublish message
PUBSUBSupportedIntrospection

Transaction Commands

CommandStatusNotes
MULTISupportedStart transaction
EXECSupportedExecute transaction
DISCARDSupportedDiscard transaction
WATCHSupportedOptimistic locking
UNWATCHSupportedUnwatch keys

Scripting Commands

CommandStatusNotes
EVALSupportedExecute Lua script
EVALSHASupportedExecute by SHA
SCRIPT LOADSupportedLoad script
SCRIPT EXISTSSupportedCheck script exists
SCRIPT FLUSHSupportedFlush scripts
SCRIPT KILLSupportedKill running script
FUNCTIONPartialLimited support

Key Commands

CommandStatusNotes
DELSupportedDelete keys
UNLINKSupportedAsync delete
EXISTSSupportedCheck existence
TYPESupportedGet key type
KEYSSupportedFind keys (use SCAN)
SCANSupportedIterate keyspace
RENAMESupportedRename key
RENAMENXSupportedRename if not exists
COPYSupportedCopy key
EXPIRESupportedSet expiration
EXPIREATSupportedSet expiration timestamp
PEXPIRESupportedSet ms expiration
PEXPIREATSupportedSet ms timestamp
PERSISTSupportedRemove expiration
TTLSupportedGet TTL
PTTLSupportedGet TTL in ms
EXPIRETIMESupportedGet expiration timestamp
TOUCHSupportedUpdate access time
OBJECTSupportedObject introspection
DUMPSupportedSerialize key
RESTORESupportedDeserialize key

HyperLogLog Commands

CommandStatusNotes
PFADDSupportedAdd elements
PFCOUNTSupportedCount unique
PFMERGESupportedMerge HLLs

Bitmap Commands

CommandStatusNotes
SETBITSupportedSet bit
GETBITSupportedGet bit
BITCOUNTSupportedCount set bits
BITPOSSupportedFind bit position
BITOPSupportedBitwise operations
BITFIELDSupportedBit field operations

Geospatial Commands

CommandStatusNotes
GEOADDSupportedAdd locations
GEOPOSSupportedGet positions
GEODISTSupportedCalculate distance
GEORADIUSSupportedRadius search
GEORADIUSBYMEMBERSupportedMember radius search
GEOSEARCHSupportedFlexible search
GEOSEARCHSTORESupportedSearch and store
GEOHASHSupportedGet geohash

Server Commands

CommandStatusNotes
INFOSupportedServer info
DBSIZESupportedDatabase size
TIMESupportedServer time
LASTSAVESupportedLast save time
SLOWLOGSupportedSlow query log
MEMORYPartialMemory stats
DEBUGPartialDebug commands
COMMANDSupportedCommand info

Known Limitations

Not Supported

FeatureReason
Redis ModulesUse HeliosDB extensions
Cluster ReshardingDifferent architecture
WAIT CommandDifferent replication
DEBUG SEGFAULTSecurity

Behavioral Differences

  1. Persistence: Uses HeliosDB storage engine instead of RDB/AOF
  2. Replication: Uses HeliosDB replication instead of Redis replication
  3. Eviction: Different memory management policies
  4. Lua Libraries: Some Redis-specific Lua libraries may differ

Related: README.md | CONFIGURATION.md | EXAMPLES.md

Last Updated: December 2025