Ich versuche, einige Daten in redis zu speichern.Redis Schlüssel effizient erstellen
Betrachten Sie folgendes Beispiel.
Eine Person hat verschiedene Autos in verschiedenen Jahren im Besitz.
Zur Zeit bin ich zu speichern Tasten wie diese -
cars:johndoe:1991:mercedes model s1 engine v1
cars:johndoe:1992:mercedes model s1 engine v1
cars:jane:1992:BMW model s2 engine v2
cars:foobar:1991:honda model s3 engine v3
Vorteil davon ist, dass - ich Wildcard mit Schlüssel verwenden, können verschiedene Daten zu holen. z
1. all cars bought in 1991
keys cars:*:1991:*
2. all cars owned by johndoe
keys cars:johndoe:*
usw.
Aber wie pro redis Dokumentation, keys
Befehl mit Wildcard ist nicht effizient, da es alle Schlüssel sucht.
Also entschied ich mich, Sets für diese Daten zu verwenden. Aber zu gleichen Ergebnisse wie oben zu erzielen, muss ich viele verschiedene Arten benötigen setzt beispiels
1. sadd cars cars:johndoe:1991:mercedes cars:johndoe:1992:mercedes cars:jane:1992:BMW cars:foobar:1991:honda
2. sadd cars:johndoe cars:johndoe:1991:mercedes cars:johndoe:1992:mercedes
3. sadd cars:jane cars:jane:1992:BMW
4. sadd cars:foobar cars:foobar:1991:honda
5. sadd cars:1991 cars cars:johndoe:1991:mercedes cars:foobar:1991:honda
Auf diese Weise muss ich & entfernen viele Schlüssel für einzelne Operation hinzuzufügen.
Ist das der einzige Weg? Bitte lassen Sie mich wissen, ob es dafür eine effizientere Lösung gibt.
Vielen Dank im Voraus.
Für diese Art von Operationen würde ich MongoDB verwenden. –
@BhushanPatil danke für den Kommentar. Aber ich suche auch nach einem guten Cache mit weniger leistungsfähiger Maschine. – irc