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 2025-01-23 GMT+08:00

Restricciones de comandos

Las instancias de Clúster Redis admiten algunos comandos de Redis para operaciones de varias claves en la misma ranura. En Tabla 1 se enumeran los comandos restringidos.

Algunos comandos admiten varias teclas pero no el acceso entre ranuras. Para más detalles, véase Tabla 3. En Tabla 2 se enumeran los comandos restringidos.

Tabla 4 enumera los comandos restringidos para instancias de separación de lectura/escritura.

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.

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

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.

Key

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.

Comandos de Redis restringidos en instancias de Clúster Proxy de DCS

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

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.

No está compatible con instancias de Clúster Proxy de DCS para Redis 4.0.

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 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.

Para obtener más información sobre las restricciones de varias bases de datos en instancias de clúster proxy, véase ¿Cuáles son las limitaciones de la implementación de varias bases de datos en una instancia de Clúster Proxy?

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.
  • Para una instancia de Clúster Proxy, puede ejecutar el comando SCAN a una partición específica agregando ip:port. (Las direcciones IP y los puertos de partición se pueden consultar a través del comando icluster nodes)

    Si el comando SCAN ejecutado en la partición especificada no devuelve la respuesta deseada, sus proxies pueden ser de una versión anterior. En este caso, póngase en contacto con el servicio de asistencia técnica.

    icluster nodes
    xxx 192.168.00.00:1111@xxx xxx connected 10923-16383 
    xxx 192.168.00.01:2222@xxx xxx connected 0-5460 
    xxx 192.168.00.02:3333@xxx xxx connected 5461-10922
    SCAN 0 match * COUNT 5 192.168.00.02:3333
    1) "0"
    2) 1) "key1"
       2) "key2"
       3) "key3"
       4) "key4"
       5) "key5"

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.

Haga lo siguiente para obtener la dirección IP y el número de puerto de un nodo (se toma MEMORY USAGE como ejemplo):

  1. Ejecute el comando cluster keyslot key para consultar el número de ranura de una clave.
  2. Ejecute el comando icluster nodes para consultar la dirección IP y el número de puerto correspondientes a la ranura donde se encuentra la clave.

    Si no se devuelve la información requerida después de ejecutar el comando icluster nodes, su instancia de Clúster Proxy puede ser de una versión anterior. En este caso, ejecute el comando cluster nodes.

  3. Ejecute el comando MEMORY USAGE key ip:port.

    Si multi-DB está habilitada para la instancia de Clúster Proxy, ejecute el comando MEMORY USAGE xxx:As {key} ip:port, donde xxx indica la BD donde está el valor de la clave. Por ejemplo, DB0, DB1 y DB255 corresponden a 000, 001 y 255, respectivamente.

    A continuación se muestra un ejemplo de una instancia de Clúster Proxy de base de datos única:
    set key1 value1
    OK
    get key1
    value1
    cluster keyslot key1
    9189
    icluster nodes
    xxx 192.168.00.00:1111@xxx xxx connected 10923-16383 
    xxx 192.168.00.01:2222@xxx xxx connected 0-5460 
    xxx 192.168.00.02:3333@xxx xxx connected 5461-10922
    MEMORY USAGE key1 192.168.00.02:3333
    54

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.

MULTI

El orden de los comandos entre ranuras en una transacción no está garantizado.

Los siguientes comandos no se pueden utilizar en transacciones:WATCH, MONITOR, RANDOMKEY, KEYS, SCAN, SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, SCRIPT, EVAL, EVALSHA, DBSIZE, AUTH, FLUSHDB, FLUSHALL, CLIENT, MEMORY

EXEC

Streams

XACK

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

XADD

XCLAIM

XDEL

XGROUP

XINFO

XLEN

XPENDING

XRANGE

XTRIM

XREVRANGE

XREAD

XREADGROUP GROUP

XAUTOCLAIM

Comandos de múltiples claves de instancias de Clúster Proxy

Tabla 3 Comandos de múltiples claves de instancias de Clúster Proxy

Categoría

Comando

Comandos de varias teclas que admiten el acceso entre ranuras

DEL, MGET, MSET, EXISTS, SUNION, SINTER, SDIFF, SUNIONSTORE, SINTERSTORE, SDIFFSTORE, ZUNIONSTORE, ZINTERSTORE

Comandos de varias claves que no admiten el acceso entre ranuras

SMOVE, SORT, BITOP, MSETNX, RENAME, RENAMENX, BLPOP, BRPOP, RPOPLPUSH, BRPOPLPUSH, PFMERGE, PFCOUNT, BLMOVE, COPY, GEOSEARCHSTORE, LMOVE, ZRANGESTORE

Comandos de Redis restringidos para instancias de división de lectura/escritura

Tabla 4 Comandos de Redis restringidos para instancias de división de lectura/escritura

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.