Commande Redis Zinterstore

Ensemble trié Redis

Redis Zinterstore sert à calculer l'intersection de plusieurs ensembles triés et à stocker le résultat dans un nouvel ensemble trié.

La commande Zinterstore est très utile lorsque vous devez effectuer des opérations d'ensemble (par exemple, calculer l'intersection) sur des ensembles triés.

Par défaut, la valeur de score d'un membre dans l'ensemble de résultat est la somme des valeurs de score de ce membre dans tous les ensembles donnés.

Syntaxe

La syntaxe de base de la commande redis Zinterstore est la suivante :

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE sum|min|max]
  • destination: Le nom de l'ensemble trié résultant.
  • numkeys: Le nombre d'ensembles triés à intersecter.
  • key: Les noms des ensembles triés participant au calcul.
  • WEIGHTS weight [weight ...]: Spécifie le poids de chaque ensemble trié. Le poids par défaut est 1.
  • AGGREGATE sum|min|max: Spécifie la méthode d'agrégation du résultat de l'intersection. La valeur par défaut estsum(sum).

Versions disponibles

>= 2.0.0

Valeur de retour

Le nombre de membres enregistrés dans l'ensemble de résultats cible.

Exemples

# 有序集 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"

Ensemble trié Redis

Autres extensions