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_duplicate
driver_5
→@user_10