Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Mehrere Schlüssel, die auf einen einzelnen Wert in Redis (Cache) mit Java verweisen

Dass mehrere Schlüssel auf denselben Wert verweisen, wird derzeit in Redis nicht unterstützt, siehe Problem Nr. 2668.

Sie benötigen eine Problemumgehung.

Einige Ideen unten, möglicherweise offensichtlich oder dumm :)

Vielleicht haben Sie einen Zwischenschlüssel:
- user_10id_123
- driver_5id_123
- id_123data_that_you_dont_want_to_duplicate

Sie könnten diese Logik in Ihrem Client-Code oder in benutzerdefinierten Lua-Skripten auf dem Server implementieren und Ihren Client-Code diese Skripte verwenden lassen (aber ich weiß nicht genug darüber, um Details zu liefern).

Wenn Sie die Umleitungslogik auf der Clientseite implementieren und die Zugriffe unausgeglichen sind, würden Sie beispielsweise 99 % der Zeit über den Benutzerschlüssel und 1 % der Zeit über den Treiberschlüssel auf Daten zugreifen, könnte es sich lohnen, 2 Client-Server zu vermeiden Hin- und Rückfahrten für den 99%-Fall. Dazu können Sie Umleitungen codieren. Beispiel:Das erste Zeichen ist # Der Rest sind dann die Daten. Wenn das erste Zeichen @ ist dann ist der Rest der eigentliche Schlüssel.

  • user_10#data_that_you_dont_want_to_duplicate
  • driver_5@user_10