Orca admite los comandos de Redis de la versión 7.0 y anteriores, y es compatible con los protocolos RESP2 y RESP3. Solo se admiten los comandos que aparecen en la tabla a continuación. Los comandos no listados no son compatibles. Orca soporta hasta 16 bases de datos (DB0 a DB15). Sin embargo, los comandos entre bases de datos, como MOVE, no son compatibles.
Compatibilidad con el protocolo de Redis
| Categoría | Comando | Compatible |
|---|---|---|
| Bitmap | BITCOUNT | Compatible |
| BITOP | Compatible | |
| BITPOS | Compatible | |
| SETBIT | Compatible | |
| GETBIT | Compatible | |
| Otros comandos | No compatible | |
| Gestión de conexiones | PING | Compatible |
| ECHO | Compatible | |
| HELLO | Compatible | |
| AUTH | Compatible | |
| CLIENT | Parcialmente compatible | |
| Otros comandos | No compatible | |
| Genéricos | DEL | Compatible |
| UNLINK | Compatible | |
| EXISTS | Compatible | |
| KEYS | Compatible | |
| RENAME | Compatible | |
| RENAMENX | Compatible | |
| TYPE | Compatible | |
| EXPIRE | Compatible | |
| EXPIREAT | Compatible | |
| EXPIRETIME | Compatible | |
| PERSIST | Compatible | |
| PEXPIRE | Compatible | |
| PEXPIREAT | Compatible | |
| PEXPIRETIME | Compatible | |
| TTL | Compatible | |
| PTTL | Compatible | |
| RANDOMKEY | Compatible | |
| DUMP | Compatible | |
| RESTORE | Compatible | |
| INFO | Compatible | |
| SCAN | Compatible | |
| Otros comandos | No compatible | |
| Índices geoespaciales | GEOADD | Compatible |
| GEODIST | Compatible | |
| GEOHASH | Compatible | |
| GEOPOS | Compatible | |
| GEORADIUS | Compatible | |
| GEORADIUS_RO | Compatible | |
| GEORADIUSBYMEMBER | Compatible | |
| GEORADIUSBYMEMBER_RO | Compatible | |
| GEOSEARCH | Compatible | |
| GEOSEARCHSTORE | Compatible | |
| Hash | HDEL | Compatible |
| HEXISTS | Compatible | |
| HGET | Compatible | |
| HGETALL | Compatible | |
| HINCRBY | Compatible | |
| HINCRBYFLOAT | Compatible | |
| HKEYS | Compatible | |
| HLEN | Compatible | |
| HMGET | Compatible | |
| HMSET | Compatible | |
| HSET | Compatible | |
| HSETNX | Compatible | |
| HRANDFIELD | Compatible | |
| HVALS | Compatible | |
| HSTRLEN | Compatible | |
| HSCAN | Compatible | |
| HEXPIRE | Compatible | |
| HEXPIREAT | Compatible | |
| HEXPIRETIME | Compatible | |
| HPERSIST | Compatible | |
| HPEXPIRE | Compatible | |
| HPEXPIREAT | Compatible | |
| HPEXPIRETIME | Compatible | |
| HTTL | Compatible | |
| HPTTL | Compatible | |
| Otros comandos | No compatible | |
| HyperLogLog | PFADD | Compatible |
| PFCOUNT | Compatible | |
| PFMERGE | Compatible | |
| PFSELFTEST | No compatible | |
| PFDEBUG | No compatible | |
| List | LINDEX | Compatible |
| LINSERT | Compatible | |
| LLEN | Compatible | |
| LMOVE | Compatible | |
| LMPOP | Compatible | |
| LPOP | Compatible | |
| LPOS | Compatible | |
| LPUSH | Compatible | |
| LPUSHX | Compatible | |
| LRANGE | Compatible | |
| LREM | Compatible | |
| LSET | Compatible | |
| LTRIM | Compatible | |
| RPOP | Compatible | |
| RPOPLPUSH | Compatible | |
| RPUSH | Compatible | |
| RPUSHX | Compatible | |
| BLPOP | Compatible | |
| BRPOP | Compatible | |
| Otros comandos | No compatible | |
| Pub/Sub | PSUBSCRIBE | Compatible |
| PUBLISH | Compatible | |
| PUBSUB CHANNELS | Compatible | |
| PUBSUB NUMPAT | Compatible | |
| PUBSUB NUMSUB | Compatible | |
| PUNSUBSCRIBE | Compatible | |
| SUBSCRIBE | Compatible | |
| UNSUBSCRIBE | Compatible | |
| Otros comandos | No compatible | |
| Gestión del servidor | DBSIZE | Compatible |
| FLUSHALL | Compatible | |
| FLUSHDB | Compatible | |
| Otros comandos | No compatible | |
| Set | SADD | Compatible |
| SCARD | Compatible | |
| SDIFF | Compatible | |
| SDIFFSTORE | Compatible | |
| SINTER | Compatible | |
| SINTERCARD | Compatible | |
| SINTERSTORE | Compatible | |
| SISMEMBER | Compatible | |
| SMEMBERS | Compatible | |
| SMISMEMBER | Compatible | |
| SMOVE | Compatible | |
| SREM | Compatible | |
| SUNION | Compatible | |
| SUNIONSTORE | Compatible | |
| SPOP | Compatible | |
| SRANDMEMBER | Compatible | |
| SSCAN | Compatible | |
| Otros comandos | No compatible | |
| Sorted set | ZADD | Compatible |
| ZCARD | Compatible | |
| ZCOUNT | Compatible | |
| ZDIFF | Compatible | |
| ZDIFFSTORE | Compatible | |
| ZINCRBY | Compatible | |
| ZINTERCARD | Compatible | |
| ZINTERSTORE | Compatible | |
| ZLEXCOUNT | Compatible | |
| ZMPOP | Compatible | |
| ZMSCORE | Compatible | |
| ZPOPMAX | Compatible | |
| ZPOPMIN | Compatible | |
| ZRANGE | Compatible | |
| ZRANGEBYLEX | Compatible | |
| ZRANGEBYSCORE | Compatible | |
| ZRANGESTORE | Compatible | |
| ZRANK | Compatible | |
| ZREM | Compatible | |
| ZREMRANGEBYLEX | Compatible | |
| ZREMRANGEBYRANK | Compatible | |
| ZREMRANGEBYSCORE | Compatible | |
| ZREVRANGE | Compatible | |
| ZREVRANGEBYLEX | Compatible | |
| ZREVRANGEBYSCORE | Compatible | |
| ZREVRANK | Compatible | |
| ZSCORE | Compatible | |
| ZUNION | Compatible | |
| ZUNIONSTORE | Compatible | |
| ZRANDMEMBER | Compatible | |
| ZSCAN | Compatible | |
| Otros comandos | No compatible | |
| String | APPEND | Compatible |
| DECR | Compatible | |
| DECRBY | Compatible | |
| GET | Compatible | |
| GETDEL | Compatible | |
| GETEX | Compatible | |
| GETRANGE | Compatible | |
| GETSET | Compatible | |
| LCS | Compatible | |
| INCR | Compatible | |
| INCRBY | Compatible | |
| INCRBYFLOAT | Compatible | |
| MGET | Compatible | |
| MSET | Compatible | |
| MSETNX | Compatible | |
| PSETEX | Compatible | |
| SET | Compatible | |
| SETEX | Compatible | |
| SETNX | Compatible | |
| SETRANGE | Compatible | |
| STRLEN | Compatible | |
| SUBSTR | Compatible | |
| Stream | XADD | Compatible |
| XDEL | Compatible | |
| XLEN | Compatible | |
| XRANGE | Compatible | |
| XREAD | Compatible | |
| XREVRANGE | Compatible | |
| XSETID | Compatible | |
| XTRIM | Compatible | |
| XACK | Compatible | |
| XGROUP | Compatible | |
| XINFO | Compatible | |
| XPENDING | Compatible | |
| XREADGROUP | Compatible | |
| XAUTOCLAIM | Compatible | |
| XCLAIM | Compatible | |
| XACKDEL | No compatible | |
| XCFGSET | No compatible | |
| XDELEX | No compatible | |
| XIDMPRECORD | No compatible | |
| XNACK | No compatible | |
| Scripting | EVAL | Compatible |
| EVAL_RO | Compatible | |
| EVALSHA | Compatible | |
| EVALSHA_RO | Compatible | |
| SCRIPT LOAD | Compatible | |
| SCRIPT EXISTS | Compatible | |
| SCRIPT KILL | Compatible | |
| SCRIPT FLUSH | Compatible |
Para más información sobre el uso de scripts de Lua, consulte Lua script usage instructions.
Notas de uso
HELLO
Uso: igual que en Redis.
Valor de retorno: distinto. Orca devuelve únicamente
serveryproto.
AUTH
-
Uso: distinto.
Redis:
AUTH [username] password— el parámetrousernamees opcional.Orca:
AUTH username password— el parámetrousernamees obligatorio.
Valor de retorno: igual que en Redis.
CLIENT
Solo se admiten los subcomandos GETNAME, SETNAME, ID, INFO, LIST y HELP. El resto de los subcomandos no son compatibles.
FLUSHALL
-
Uso: distinto.
Redis:
FLUSHALL [ASYNC | SYNC]— el parámetroASYNCoSYNCes opcional.Orca:
FLUSHALL— no se admite ningún parámetro.
Valor de retorno: igual que en Redis.
FLUSHDB
-
Uso: distinto.
Redis:
FLUSHDB [ASYNC | SYNC]— el parámetroASYNCoSYNCes opcional.Orca:
FLUSHDB— no se admite ningún parámetro.
Valor de retorno: igual que en Redis.
Restricción de estado en Pub/Sub
Los clientes en estado SUBSCRIBE solo pueden ejecutar PING, SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE y PUNSUBSCRIBE. En este estado no se admiten otros comandos.
ZRANGE
Uso: ZRANGE key start stop [BYSCORE | BYLEX] [REV] [LIMIT offset count] [WITHSCORES]. Cuando se especifica BYLEX, el comportamiento de ordenamiento sigue el de ZRANGEBYLEX.
Orden lexicográfico en sorted sets
A continuación se muestran los comandos que utilizan orden lexicográfico: ZLEXCOUNT, ZRANGEBYLEX, ZREMRANGEBYLEX y ZREVRANGEBYLEX.
El orden lexicográfico solo tiene sentido cuando todos los elementos de un sorted set comparten la misma puntuación. Si las puntuaciones difieren, el orden de los elementos devueltos queda indefinido, por lo que Orca y Redis podrían comportarse de manera distinta.
Límites de longitud de clave
Redis limita cada clave a 512 MB. Orca amplía este límite a 4 GB.
Para obtener un rendimiento óptimo, utilice cadenas de no más de 2,560 bytes como claves.