Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cómo empezar a usar Watch in Serverless
ElastiCache admite el WATCH comando, que le permite monitorear las claves para detectar cambios y ejecutar transaccionesWATCH comando es particularmente útil para aplicaciones que requieren un control de simultaneidad optimista, ya que garantiza que las transacciones solo se ejecuten si las claves monitoreadas no se han modificado. Esto incluye las modificaciones realizadas por un cliente, como la escritura de comandos, y por la propia Valkey, como la caducidad o el desalojo. Si las claves se modificaron desde el momento en que se establecieron WATCH y antes de que EXEC se reciban, se cancelará toda la transacción.
En el ElastiCache caso de Serverless, se introducen las siguientes restricciones:
ElastiCache Serverless WATCH está limitado a una sola ranura de hash. Esto significa que solo las claves que se asignan a la misma ranura de hash se pueden ver al mismo tiempo mediante la misma conexión, y la transacción que sigue los comandos de observación solo puede funcionar en la misma ranura de hash. Cuando una aplicación intenta ver claves de diferentes ranuras de hash o ejecutar comandos de transacción que funcionan con claves asignadas a una ranura de hash diferente a la de las claves observadas, se CROSSSLOT produce un error. Las etiquetas hash
Además, SCAN el comando no se puede ejecutar dentro de una conexión con claves vigiladas y devolverá un command not supported during watch state error.
La transacción se cancelará (como si se tocaran claves vigiladas) cuando ElastiCache Serverless no tenga la certeza de si se ha modificado una clave. Por ejemplo, cuando se ha migrado una ranura y las claves vigiladas no se encuentran en el mismo nodo.
Ejemplos de código
En el siguiente ejemplo, la clave observada y la clave especificada en el SET comando se asignan a diferentes ranuras de hash. La ejecución devuelve unCROSSSLOT ERROR.
> WATCH foo:{005119} OK > MULTI OK > SET bar:{011794} 1234 QUEUED > EXEC CROSSSLOT Keys in request don't hash to the same slot
En el siguiente ejemplo, se muestra una transacción exitosa, ya que la clave ingresada WATCH no se ha cambiado.
> WATCH foo:{005119} OK > MULTI OK > SET bar:{005119} 1234 QUEUED > EXEC 1) OK
En el siguiente ejemplo, si se intenta introducir WATCH claves de diferentes ranuras simultáneamente dentro de la misma conexión de cliente, se obtiene unCROSSSLOT ERROR.
> WATCH foo:{005119} OK > WATCH bar:{123455} CROSSSLOT Keys in request don't hash to the same slot
Límite de visualización
Cada conexión de cliente puede ver hasta 1000 claves al mismo tiempo.
Comandos compatibles relacionados con Watch
Los comandos WATCH