Avoir plusieurs clés indiquent même valeur est pas pris en charge dans Redis pour l'instant, voir issue #2668.
Vous auriez besoin d'une solution de contournement.
Quelques idées ci-dessous, peut-être évidente ou stupide :)
ont peut-être une clé intermédiaire:
- user_10
→ id_123
- driver_5
→ id_123
- id_123
→ data_that_you_dont_want_to_duplicate
Vous pourrait implémenter cette logique dans votre code client, ou dans des scripts Lua personnalisés sur le serveur, et que votre code client utilise ces scripts (mais je n'en connais pas assez pour fournir des détails). Si vous implémentez la logique d'indirection du côté client, et si les accès sont déséquilibrés, par exemple si vous accédez aux données via la clé utilisateur 99% du temps, et via la clé du pilote 1% du temps, il peut être utile d'éviter 2 allers-retours client-serveur pour le cas de 99%. Pour cela, vous pouvez encoder des redirections. Par exemple, si le premier caractère est #
, le reste est les données. Si le premier caractère est @
alors le reste est la clé actuelle.
user_10
→ #data_that_you_dont_want_to_duplicate
driver_5
→ @user_10
Pourriez-vous préciser ce qui est exacly votre clé? Est-ce '[user_10, driver_5]' incluant les crochets? Quel [client redis java] (https://redis.io/clients#java) utilisez-vous? jedis, jredis? (Ne sais pas « jdis ») –
Je veux ajouter plusieurs clés qui pointe valeur unique suppose que j'ai trois clés comme user_1, driver_10, admin_5 et value = « ceci est utilisateur » et je veux obtenir la valeur en utilisant une clé entre trois – user3864113