Rozwiązanie 1:Przechowuj dane różnych modułów w różnych instancjach Redis
Najbardziej rygorystyczną izolacją jest przechowywanie danych każdego modułu w indywidualnej instancji Redis, tj. indywidualnym procesie Redis.
Rozwiązanie 2:Przechowuj dane różnych modułów w różnych bazach danych jednej instancji Redis
Instancja Redis może mieć wiele baz danych, a liczbę baz danych można skonfigurować w pliku konfiguracyjnym. Domyślnie jest 16 baz danych.
Te bazy danych są nazywane indeksem liczbowym liczonym od zera. Za pomocą polecenia select możesz użyć i Baza danych. Po dokonaniu wyboru kolejne polecenia będą działać na tym baza danych.
Tak więc, jeśli przypiszesz niezależną bazę danych do każdego modułu, możesz uniknąć kolizji nazw.
UWAGA :to rozwiązanie NIE DZIAŁA z Redis Cluster
. Redis Cluster
pozwala tylko na użycie 0 baza danych.
Rozwiązanie 3:Utwórz przestrzeń nazw z prefiksem klucza
Jeśli wszystkie Twoje dane muszą być przechowywane w jednej bazie danych, nadal możesz domyślnie utworzyć przestrzeń nazw z prefiksem klucza . Dla każdego modułu wszystkie dane tego modułu powinny mieć ten sam wzorzec klucza:ModuleName:KeyName
, czyli każdy klucz tego modułu ma ten sam prefiks:ModuleName
.
Ponieważ każdy moduł ma inną nazwę, nie będzie żadnych kolizji nazw między tymi modułami:
// Set keys for module1
SET module1:key1 value
SET module1:key2 value
// Set keys for module2
SET module2:key1 value
SET module2:key2 value
UWAGA :to rozwiązanie działa również z Redis Cluster
.