Database Reference
In-Depth Information
Wir wollen die wichtigsten Websites in unserem System als Kombination von
Stimmen und Besuchen ermitteln. Die Abstimmung ist wichtig, doch in etwas
kleinerem Maßstab haben auch die Website-Besuche ein gewisses Gewicht
(vielleicht sind die Leute von der Website so entzückt, dass sie vergessen, ih-
re Stimme abzugeben). Wir wollen zwei Arten von Scores addieren, um einen
neuen „Wichtigkeits-Score“ zu berechnen. Die abgegebenen Stimmen erhal-
ten dabei die doppelte Wichtung, d. h., sie werden mit 2 multipliziert.
ZUNIONSTORE importance 2 visits votes WEIGHTS 1 2 AGGREGATE SUM
(integer) 3
redis 127.0.0.1:6379> ZRANGEBYSCORE importance -inf inf WITHSCORES
1) "gog"
2) "9"
3) "7wks"
4) "504"
5) "prag"
6) "28002"
Dieser Befehl ist auch in anderer Hinsicht mächtig. Wenn Sie zum Beispiel
alle Scores in einem Set verdoppeln müssen, können Sie den Schlüssel mit
einem Gewicht von 2 vereinen und wieder zurückschreiben.
redis 127.0.0.1:6379> ZUNIONSTORE votes 1 votes WEIGHTS 2
(integer) 2
redis 127.0.0.1:6379> ZRANGE votes 0 -1 WITHSCORES
1) "gog"
2) "0"
3) "7wks"
4) "4"
5) "prag"
6) "18002"
Sortierte Sets kennen einen ähnlichen Befehl ( ZINTERSTORE ) für Schnittmen-
gen.
Verfallszeit
Ein typischer Anwendungsfall für ein Schlüssel/Wert-System wie Redis ist
ein Cache für den schnellen Zugriff auf Daten, bei denen der Preis für den
Abruf oder die Berechnung zu hoch ist. Ein Verfallsdatum hilft, zu verhin-
dern, dass die Gesamtzahl der Schlüssel ungehindert anwächst, indem Re-
dis angewiesen wird, ein Schlüssel/Wert-Paar nach einer gewissen Zeit zu
löschen.
Sie legen die Verfallszeit mit dem EXPIRE -Befehl fest, der einen existieren-
den Schlüssel und eine Zeitspanne (TTL, time to live) in Sekunden verlangt.
Nachfolgend setzen wir einen Schlüssel und legen seine Verfallszeit mit 10
Sekunden fest. Wir können dann mit EXISTS prüfen, ob der Schlüssel noch
Search WWH ::




Custom Search