Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-04 GMT+08:00

Restricciones de comandos

Algunos comandos de Redis son compatibles con instancias DCS de clúster para operaciones de varias claves en la misma ranura. Para más detalles, consulte Tabla 1.

Tabla 2 y Tabla 3 enumeran los comandos restringidos para las instancias de Clúster Proxy y de separación de lectura/escritura de DCS para Redis 4.0.

Tabla 4 y Tabla 5 enumeran los comandos restringidos para las instancias de Clúster Proxy y de separación de lectura/escritura de DCS para Redis 5.0.

Tabla 1 Comandos restringidos de Redis en las instancias de Clúster Redis de DCS

Categoría

Descripción

Set (Conjunto)

SINTER

Devuelve los miembros del conjunto resultante de la intersección de todos los conjuntos dados.

SINTERSTORE

Igual a SINTER, pero en lugar de devolver el conjunto de resultados, se almacena en destination.

SUNION

Devuelve los miembros del conjunto resultante de la unión de todos los conjuntos dados.

SUNIONSTORE

Igual a SUNION, pero en lugar de devolver el conjunto de resultados, se almacena en destination.

SDIFF

Devuelve los miembros del conjunto resultante de la diferencia entre el primer conjunto y todos los conjuntos sucesivos.

SDIFFSTORE

Igual a SDIFF, pero en lugar de devolver el conjunto de resultados, se almacena en destination.

SMOVE

Mueve member del conjunto en source al conjunto en destination.

Sorted Set (Conjunto ordenado)

ZUNIONSTORE

Calcula la unión de conjuntos ordenados de numkeys dadas por las claves especificadas.

ZINTERSTORE

Calcula la intersección de conjuntos ordenados por numkeys dadas por las claves especificadas.

HyperLogLog

PFCOUNT

Devuelve la cardinalidad aproximada calculada por la estructura de datos HyperLogLog almacenada en la variable especificada.

PFMERGE

Combina varios valores HyperLogLog en un valor único.

Keys

RENAME

Cambia el nombre de key a newkey.

RENAMENX

Cambia el nombre de key a newkey si newkey aún no existe.

BITOP

Realiza una operación a nivel de bits entre varias claves (que contienen valores de cadena) y almacena el resultado en la clave de destino.

RPOPLPUSH

Devuelve y elimina el último elemento (tail) de la lista almacenada en el origen y lo empuja al primer elemento (head) de la lista almacenada en destination.

String

MSETNX

Establece las claves dadas en sus respectivos valores.

Mientras se ejecutan comandos que tardan mucho en ejecutarse, como FLUSHALL, las instancias DCS pueden no responder a otros comandos y pueden cambiar al estado defectuoso. Después de que el comando termine de ejecutarse, la instancia volverá a la normalidad.

Tabla 2 Comandos de Redis restringidos para instancias de Clúster Proxy de DCS para Redis 4.0

Categoría

Comando

Restricción

Sets

SMOVE

Para una instancia de Clúster Proxy, las claves de origen y destino deben estar en la misma ranura.

Geo

GEORADIUS

  • Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.
  • Para una instancia de Clúster Proxy con múltiples bases de datos, la opción STORE no es compatible.

GEORADIUSBYMEMBER

GEOSEARCHSTORE

Connection

CLIENT KILL

  • Solo se admiten los dos formatos siguientes:
    • CLIENT KILL ip:port
    • CLIENT KILL ADDR ip:port
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.

CLIENT LIST

  • Solo se admiten los dos formatos siguientes:
    • CLIENT LIST
    • CLIENT LIST [TYPE normal|master|replica|pubsub]
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.

SELECT index

Multi-DB de instancias de Clúster Proxy se puede implementar cambiando las claves. No se recomienda esta solución.

Restricciones sobre el soporte multi-DB para una instancia de Clúster Proxy:

  1. El almacenamiento backend reescribe las claves basadas en ciertas reglas. Las claves del archivo RDB exportado no son las claves originales, pero se puede acceder a ellas a través del protocolo de Redis.
  2. El comando FLUSHDB elimina las claves una por una, lo que lleva mucho tiempo.
  3. No se admite SWAPDB.
  4. El comando INFO KEYSPACE no devuelve datos de varias bases de datos.
  5. El comando DBSIZE consume mucho tiempo. No lo utilice en el código.
  6. Si se utilizan varias bases de datos, el rendimiento de los comandos KEYS y SCAN se deteriora hasta en un 50%.
  7. Los scripts LUA no admiten el uso de varias bases de datos.
  8. El comando RANDOMKEY no admite el uso de varias bases de datos.
  9. De forma predeterminada, multi-DB está deshabilitado. Antes de habilitar o deshabilitar esta opción para una instancia, borre los datos de la instancia.

HyperLogLog

PFCOUNT

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

PFMERGE

Keys

RENAME

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

RENAMENX

SCAN

Las instancias de Clúster Proxy no soportan el comando SCAN en canalizaciones.

Lists

BLPOP

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

BRPOP

BRPOPLPUSH

Pub/Sub

PSUBSCRIBE

Las instancias de Clúster Proxy no admiten la suscripción a eventos de espacio de claves, por lo que no habría un fallo en la suscripción a eventos de espacio de claves.

Scripting

EVAL

  • Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.
  • Cuando la función multi-DB está habilitada para una instancia Clúster Proxy, se modifica el parámetro KEYS. Preste atención al parámetro KEYS usado en el script Lua.

EVALSHA

Server

MEMORY DOCTOR

Para una instancia de Clúster Proxy, agregue el ip:port del nodo al final del comando.

MEMORY HELP

MEMORY MALLOC-STATS

MEMORY PURGE

MEMORY STATS

MEMORY USAGE

MONITOR

Strings

BITOP

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

MSETNX

Transactions

WATCH

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

Streams

XACK

Actualmente, las instancias Clúster Proxy no soportan Streams.

XADD

XCLAIM

XDEL

XGROUP

XINFO

XLEN

XPENDING

XRANGE

XTRIM

XREVRANGE

XREAD

XREADGROUP GROUP

Tabla 3 Comandos de Redis restringidos para las instancias de la separación de lectura/escritura de DCS para Redis 4.0

Categoría

Comando

Restricción

Conexión

CLIENT KILL

  • Solo se admiten los dos formatos siguientes:
    • CLIENT KILL ip:port
    • CLIENT KILL ADDR ip:port
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.

CLIENT LIST

  • Solo se admiten los dos formatos siguientes:
    • CLIENT LIST
    • CLIENT LIST [TYPE normal|master|replica|pubsub]
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.
Tabla 4 Comandos de Redis restringidos para instancias de Clúster Proxy de DCS para Redis 5.0

Categoría

Comando

Restricción

Sets

SMOVE

Para una instancia de Clúster Proxy, las claves de origen y destino deben estar en la misma ranura.

Sorted sets

BZPOPMAX

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

BZPOPMIN

Geo

GEORADIUS

  • Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.
  • Para una instancia de Clúster Proxy en modo multi-DB, la opción STORE no es compatible.

GEORADIUSBYMEMBER

GEOSEARCHSTORE

Connection

CLIENT KILL

  • Solo se admiten los dos formatos siguientes:
    • CLIENT KILL ip:port
    • CLIENT KILL ADDR ip:port
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.

CLIENT LIST

  • Solo se admiten los dos formatos siguientes:
    • CLIENT LIST
    • CLIENT LIST [TYPE normal|master|replica|pubsub]
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.

SELECT index

Multi-DB de instancias de Clúster Proxy se puede implementar cambiando las claves. No se recomienda esta solución.

Restricciones sobre el soporte multi-DB para una instancia de Clúster Proxy:

  1. El almacenamiento backend reescribe las claves basadas en ciertas reglas. Las claves del archivo RDB exportado no son las claves originales, pero se puede acceder a ellas a través del protocolo de Redis.
  2. El comando FLUSHDB elimina las claves una por una, lo que lleva mucho tiempo.
  3. No se admite SWAPDB.
  4. El comando INFO KEYSPACE no devuelve datos de varias bases de datos.
  5. El comando DBSIZE consume mucho tiempo. No lo utilice en el código.
  6. Si se utilizan varias bases de datos, el rendimiento de los comandos KEYS y SCAN se deteriora hasta en un 50%.
  7. Los scripts LUA no admiten el uso de varias bases de datos.
  8. El comando RANDOMKEY no admite el uso de varias bases de datos.
  9. De forma predeterminada, multi-DB está deshabilitado. Antes de habilitar o deshabilitar esta opción para una instancia, borre los datos de la instancia.

HyperLogLog

PFCOUNT

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

PFMERGE

Keys

RENAME

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

RENAMENX

SCAN

Las instancias de Clúster Proxy no soportan el comando SCAN en canalizaciones.

Lists

BLPOP

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

BRPOP

BRPOPLPUSH

Pub/Sub

PSUBSCRIBE

Las instancias de Clúster Proxy no admiten la suscripción a eventos de espacio de claves, por lo que no habría un fallo en la suscripción a eventos de espacio de claves.

Scripting

EVAL

  • Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.
  • Cuando la función multi-DB está habilitada para una instancia Clúster Proxy, se modificará el parámetro KEYS. Preste atención al parámetro KEYS usado en el script Lua.

EVALSHA

Server

MEMORY DOCTOR

Para una instancia de Clúster Proxy, agregue el ip:port del nodo al final del comando.

MEMORY HELP

MEMORY MALLOC-STATS

MEMORY PURGE

MEMORY STATS

MEMORY USAGE

MONITOR

Strings

BITOP

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

MSETNX

Transactions

WATCH

Para una instancia de Clúster Proxy, todas las claves transferidas deben estar en la misma ranura.

Streams

XACK

Actualmente, las instancias Clúster Proxy no soportan Streams.

XADD

XCLAIM

XDEL

XGROUP

XINFO

XLEN

XPENDING

XRANGE

XTRIM

XREVRANGE

XREAD

XREADGROUP GROUP

Tabla 5 Comandos de Redis restringidos para las instancias de la separación de lectura/escritura de DCS para Redis 5.0

Categoría

Comando

Restricción

Connection

CLIENT KILL

  • Solo se admiten los dos formatos siguientes:
    • CLIENT KILL ip:port
    • CLIENT KILL ADDR ip:port
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.

CLIENT LIST

  • Solo se admiten los dos formatos siguientes:
    • CLIENT LIST
    • CLIENT LIST [TYPE normal|master|replica|pubsub]
  • El campo id tiene un valor aleatorio y no cumple con el requisito idc1<idc2→Tc1<Tc2.

Streams

XREAD

No se admite la opción BLOCK.

XREADGROUP GROUP