Orca supports Redis commands from version 7.0 and earlier, and is compatible with the RESP2 and RESP3 protocols. Only commands listed in the table below are supported. Commands not listed are not supported. Orca supports only single-database operations — cross-database commands such as MOVE are not supported.
Redis protocol compatibility
| Category | Command | Supported |
|---|---|---|
| Bitmap | BITCOUNT | Supported |
| BITOP | Supported | |
| BITPOS | Supported | |
| SETBIT | Supported | |
| GETBIT | Supported | |
| Other commands | Not supported | |
| Connection management | PING | Supported |
| ECHO | Supported | |
| HELLO | Supported | |
| AUTH | Supported | |
| CLIENT | Partially supported | |
| Other commands | Not supported | |
| Generic | DEL | Supported |
| UNLINK | Supported | |
| EXISTS | Supported | |
| KEYS | Supported | |
| RENAME | Supported | |
| RENAMENX | Supported | |
| TYPE | Supported | |
| EXPIRE | Supported | |
| EXPIREAT | Supported | |
| EXPIRETIME | Supported | |
| PERSIST | Supported | |
| PEXPIRE | Supported | |
| PEXPIREAT | Supported | |
| PEXPIRETIME | Supported | |
| TTL | Supported | |
| PTTL | Supported | |
| RANDOMKEY | Supported | |
| DUMP | Supported | |
| RESTORE | Supported | |
| INFO | Supported | |
| SCAN | Supported | |
| Other commands | Not supported | |
| Hash | HDEL | Supported |
| HEXISTS | Supported | |
| HGET | Supported | |
| HGETALL | Supported | |
| HINCRBY | Supported | |
| HINCRBYFLOAT | Supported | |
| HKEYS | Supported | |
| HLEN | Supported | |
| HMGET | Supported | |
| HMSET | Supported | |
| HSET | Supported | |
| HSETNX | Supported | |
| HRANDFIELD | Supported | |
| HVALS | Supported | |
| HSTRLEN | Supported | |
| HSCAN | Supported | |
| HEXPIRE | Supported | |
| HEXPIREAT | Supported | |
| HEXPIRETIME | Supported | |
| HPERSIST | Supported | |
| HPEXPIRE | Supported | |
| HPEXPIREAT | Supported | |
| HPEXPIRETIME | Supported | |
| HTTL | Supported | |
| HPTTL | Supported | |
| Other commands | Not supported | |
| List | LINDEX | Supported |
| LINSERT | Supported | |
| LLEN | Supported | |
| LMOVE | Supported | |
| LMPOP | Supported | |
| LPOP | Supported | |
| LPOS | Supported | |
| LPUSH | Supported | |
| LPUSHX | Supported | |
| LRANGE | Supported | |
| LREM | Supported | |
| LSET | Supported | |
| LTRIM | Supported | |
| RPOP | Supported | |
| RPOPLPUSH | Supported | |
| RPUSH | Supported | |
| RPUSHX | Supported | |
| BLPOP | Supported | |
| BRPOP | Supported | |
| Other commands | Not supported | |
| Pub/Sub | PSUBSCRIBE | Supported |
| PUBLISH | Supported | |
| PUBSUB CHANNELS | Supported | |
| PUBSUB NUMPAT | Supported | |
| PUBSUB NUMSUB | Supported | |
| PUNSUBSCRIBE | Supported | |
| SUBSCRIBE | Supported | |
| UNSUBSCRIBE | Supported | |
| Other commands | Not supported | |
| Server management | DBSIZE | Supported |
| FLUSHALL | Supported | |
| FLUSHDB | Supported | |
| Other commands | Not supported | |
| Set | SADD | Supported |
| SCARD | Supported | |
| SDIFF | Supported | |
| SDIFFSTORE | Supported | |
| SINTER | Supported | |
| SINTERCARD | Supported | |
| SINTERSTORE | Supported | |
| SISMEMBER | Supported | |
| SMEMBERS | Supported | |
| SMISMEMBER | Supported | |
| SMOVE | Supported | |
| SREM | Supported | |
| SUNION | Supported | |
| SUNIONSTORE | Supported | |
| SPOP | Supported | |
| SRANDMEMBER | Supported | |
| SSCAN | Supported | |
| Other commands | Not supported | |
| Sorted set | ZADD | Supported |
| ZCARD | Supported | |
| ZCOUNT | Supported | |
| ZDIFF | Supported | |
| ZDIFFSTORE | Supported | |
| ZINCRBY | Supported | |
| ZINTERCARD | Supported | |
| ZINTERSTORE | Supported | |
| ZLEXCOUNT | Supported | |
| ZMPOP | Supported | |
| ZMSCORE | Supported | |
| ZPOPMAX | Supported | |
| ZPOPMIN | Supported | |
| ZRANGE | Supported | |
| ZRANGEBYLEX | Supported | |
| ZRANGEBYSCORE | Supported | |
| ZRANGESTORE | Supported | |
| ZRANK | Supported | |
| ZREM | Supported | |
| ZREMRANGEBYLEX | Supported | |
| ZREMRANGEBYRANK | Supported | |
| ZREMRANGEBYSCORE | Supported | |
| ZREVRANGE | Supported | |
| ZREVRANGEBYLEX | Supported | |
| ZREVRANGEBYSCORE | Supported | |
| ZREVRANK | Supported | |
| ZSCORE | Supported | |
| ZUNION | Supported | |
| ZUNIONSTORE | Supported | |
| ZRANDMEMBER | Supported | |
| ZSCAN | Supported | |
| Other commands | Not supported | |
| String | APPEND | Supported |
| DECR | Supported | |
| DECRBY | Supported | |
| GET | Supported | |
| GETDEL | Supported | |
| GETEX | Supported | |
| GETRANGE | Supported | |
| GETSET | Supported | |
| LCS | Supported | |
| INCR | Supported | |
| INCRBY | Supported | |
| INCRBYFLOAT | Supported | |
| MGET | Supported | |
| MSET | Supported | |
| MSETNX | Supported | |
| PSETEX | Supported | |
| SET | Supported | |
| SETEX | Supported | |
| SETNX | Supported | |
| SETRANGE | Supported | |
| STRLEN | Supported | |
| SUBSTR | Supported | |
| Scripting | EVAL | Supported |
| EVAL_RO | Supported | |
| EVALSHA | Supported | |
| EVALSHA_RO | Supported | |
| SCRIPT LOAD | Supported | |
| SCRIPT EXISTS | Supported | |
| SCRIPT KILL | Supported | |
| SCRIPT FLUSH | Supported |
For Lua script usage, see Lua script usage instructions.
Usage notes
HELLO
-
Usage: Same as Redis.
-
Return value: Different. Orca returns only
serverandproto.
AUTH
-
Usage: Different.
-
Redis:
AUTH [username] password— theusernameparameter is optional. -
Orca:
AUTH username password— theusernameparameter is mandatory.
-
-
Return value: Same as Redis.
CLIENT
Only the GETNAME, SETNAME, ID, INFO, LIST, and HELP subcommands are supported. Other subcommands are not supported.
FLUSHALL
-
Usage: Different.
-
Redis:
FLUSHALL [ASYNC | SYNC]— theASYNCorSYNCparameter is optional. -
Orca:
FLUSHALL— no parameters are supported.
-
-
Return value: Same as Redis.
FLUSHDB
-
Usage: Different.
-
Redis:
FLUSHDB [ASYNC | SYNC]— theASYNCorSYNCparameter is optional. -
Orca:
FLUSHDB— no parameters are supported.
-
-
Return value: Same as Redis.
Pub/Sub state restriction
Clients in the SUBSCRIBE state can only run PING, SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, and PUNSUBSCRIBE. Other commands are not supported in this state.
ZRANGE
Usage: ZRANGE key start stop [BYSCORE | BYLEX] [REV] [LIMIT offset count] [WITHSCORES]. When BYLEX is specified, the sorting behavior follows that of ZRANGEBYLEX.
Lexicographical ordering in Sorted Sets
The following commands use lexicographical ordering: ZLEXCOUNT, ZRANGEBYLEX, ZREMRANGEBYLEX, and ZREVRANGEBYLEX.
Lexicographical ordering is meaningful only when all elements in a Sorted Set have the same score. When scores differ, the order of returned elements is undefined, and Orca and Redis may behave inconsistently.
Key length limits
Redis limits each key to 512 MB. Orca raises this limit to 4 GB.
For optimal performance, use strings no longer than 2,560 bytes as keys.