Redis Zinterstore-Befehl
Redis Zinterstore wird verwendet, um die Schnittmenge mehrerer Sorted Sets zu berechnen und das Ergebnis in einem neuen Sorted Set zu speichern.
Der Zinterstore-Befehl ist sehr nützlich, wenn Sie Mengenoperationen (zum Beispiel die Berechnung der Schnittmenge) auf Sorted Sets ausführen müssen.
Standardmäßig ist der Score-Wert eines Elements in der Ergebnismenge die Summe der Score-Werte dieses Elements über alle angegebenen Mengen hinweg.
Syntax
Die grundlegende Syntax des Redis-Befehls Zinterstore lautet wie folgt:
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE sum|min|max]
destination: Der Name des resultierenden Sorted Sets.numkeys: Die Anzahl der Sorted Sets, deren Schnittmenge berechnet werden soll.key: Die Namen der an der Berechnung beteiligten Sorted Sets.WEIGHTS weight [weight ...]: Gibt die Gewichtung für jedes Sorted Set an. Die Standardgewichtung ist 1.AGGREGATE sum|min|max: Gibt die Aggregationsmethode des Schnittmengenergebnisses an. Standard istsum(sum).
Verfügbare Versionen
>= 2.0.0
Rückgabewert
Die Anzahl der Mitglieder, die im Ziel-Ergebnissatz gespeichert werden.
Beispiele
# 有序集 mid_test redis 127.0.0.1:6379> ZADD mid_test 70 "Li Lei" (integer) 1 redis 127.0.0.1:6379> ZADD mid_test 70 "Han Meimei" (integer) 1 redis 127.0.0.1:6379> ZADD mid_test 99.5 "Tom" (integer) 1 # 另一个有序集 fin_test redis 127.0.0.1:6379> ZADD fin_test 88 "Li Lei" (integer) 1 redis 127.0.0.1:6379> ZADD fin_test 75 "Han Meimei" (integer) 1 redis 127.0.0.1:6379> ZADD fin_test 99.5 "Tom" (integer) 1 # 交集 redis 127.0.0.1:6379> ZINTERSTORE sum_point 2 mid_test fin_test (integer) 3 # 显示有序集内所有成员及其分数值 redis 127.0.0.1:6379> ZRANGE sum_point 0 -1 WITHSCORES 1) "Han Meimei" 2) "145" 3) "Li Lei" 4) "158" 5) "Tom" 6) "199"
Andere Erweiterungen
