Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Commencer à utiliser Watch in Serverless
ElastiCache prend en charge la WATCH commande, qui vous permet de surveiller les modifications apportées aux touches et d'exécuter des transactionsWATCH commande est particulièrement utile pour les applications qui nécessitent un contrôle de simultanéité optimiste, garantissant que les transactions ne sont exécutées que si les clés surveillées n'ont pas été modifiées. Cela inclut les modifications apportées par un client, comme les commandes d'écriture, et par Valkey lui-même, comme l'expiration ou l'expulsion. Si les clés ont été modifiées à partir du moment où elles ont été définies WATCH et au moment EXEC de leur réception, la transaction sera annulée dans son intégralité.
Pour le ElastiCache mode Serverless, les contraintes suivantes sont introduites :
ElastiCache Le mode Serverless WATCH est limité à un seul emplacement de hachage. Cela signifie que seules les clés qui correspondent au même emplacement de hachage peuvent être surveillées en même temps par la même connexion, et que la transaction qui suit les commandes de surveillance ne peut fonctionner que sur le même emplacement de hachage. Lorsqu'une application tente de surveiller des clés provenant de différents emplacements de hachage ou d'exécuter des commandes de transaction qui agissent sur des clés mappées à un emplacement de hachage différent de celui des clés surveillées, une CROSSSLOT erreur est renvoyée. Les balises de hachage
De plus, SCAN la commande ne peut pas être exécutée dans une connexion avec des touches surveillées et renverra command not supported during watch state une erreur.
La transaction sera abandonnée (comme si des touches surveillées avaient été touchées) lorsque ElastiCache Serverless n'a aucune certitude quant à savoir si une clé a été modifiée. Par exemple, lorsqu'un emplacement a été migré et que les clés surveillées sont introuvables sur le même nœud.
Exemples de code
Dans l'exemple suivant, la clé surveillée et la clé spécifiée dans la SET commande correspondent à différents emplacements de hachage. L'exécution renvoie 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
L'exemple suivant montre une transaction réussie, car la clé définie WATCH n'a pas été modifiée.
> WATCH foo:{005119} OK > MULTI OK > SET bar:{005119} 1234 QUEUED > EXEC 1) OK
Dans l'exemple suivant, une tentative de saisie simultanée de WATCH clés provenant de différents emplacements au sein de la même connexion client renvoie unCROSSSLOT ERROR.
> WATCH foo:{005119} OK > WATCH bar:{123455} CROSSSLOT Keys in request don't hash to the same slot
Limite de surveillance
Chaque connexion client peut regarder jusqu'à 1 000 clés en même temps.
Commandes prises en charge liées à Watch
Les commandes WATCH