Posiadanie wielu kluczy wskazujących na tę samą wartość nie jest na razie obsługiwane w Redis, zobacz problem #2668.
Potrzebujesz obejścia.
Kilka pomysłów poniżej, prawdopodobnie oczywistych lub głupich :)
Może masz klucz pośredni:
- user_10 → id_123
- driver_5 → id_123
- id_123 → data_that_you_dont_want_to_duplicate
Możesz zaimplementować tę logikę w swoim kodzie klienta lub w niestandardowych skryptach Lua na serwerze i sprawić, by Twój kod klienta używał tych skryptów (ale nie wiem wystarczająco dużo, aby podać szczegóły).
Jeśli zaimplementujesz logikę pośrednią po stronie klienta, a dostępy są niezrównoważone, na przykład uzyskasz dostęp do danych za pomocą klucza użytkownika przez 99% czasu, a za pomocą klucza sterownika przez 1% czasu, warto unikać 2 klient-serwer wycieczki objazdowe w przypadku 99%. W tym celu możesz kodować przekierowania. Na przykład, jeśli pierwszym znakiem jest # reszta to dane. Jeśli pierwszym znakiem jest @ wtedy reszta jest właściwym kluczem.
user_10→#data_that_you_dont_want_to_duplicatedriver_5→@user_10