Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Dlaczego mój skrypt Redis Lua nie może atomowo aktualizować kluczy w różnych węzłach klastra Redis?

Obawiam się, że źle zrozumiałeś dokumentację. (I zgadzam się, że nie jest to bardzo jasne.)

Operacje Redis, zarówno komendy, jak i skrypty Lua, mogą działać tylko wtedy, gdy wszystkie klucze znajdują się na tym samym serwerze. Celem reguły przekazywania kluczy jest umożliwienie serwerom klastra ustalenie, gdzie wysłać skrypt i szybkie niepowodzenie, jeśli wszystkie klucze nie pochodzą z tego samego serwera (co miało miejsce w twoim przypadku).

Więc Twoim obowiązkiem jest upewnienie się, że wszystkie klucze, na których chcesz operować, znajdują się na tym samym serwerze. Sposobem na to jest użycie tagów haszujących aby zmusić klucze do mieszania w tym samym gnieździe. Więcej informacji na ten temat znajdziesz w dokumentacji.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czas utworzenia klucza w redis

  2. Redis::CommandError:ERR Klient wysłał AUTH, ale nie ustawiono hasła

  3. Problemy z uruchomieniem instancji OAuthd

  4. Redis + Node.js - jak mogę pobrać wartości

  5. Nie można powiązać odbiornika TCP *:6379 przy użyciu Redis w systemie Windows