Команда Redis Zinterstore
Redis Zinterstore используется для вычисления пересечения нескольких упорядоченных множеств и сохранения результата в новом упорядоченном множестве.
Команда Zinterstore очень полезна, когда нужно выполнять операции над множествами (например, вычисление пересечения) над упорядоченными множествами.
По умолчанию значение score элемента в результирующем множестве равно сумме значений score этого элемента во всех заданных множествах.
Синтаксис
Базовый синтаксис команды redis Zinterstore выглядит следующим образом:
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE sum|min|max]
destination: Имя результирующего упорядоченного множества.numkeys: Количество упорядоченных множеств для пересечения.key: Имена сортированных множеств, участвующих в вычислении.WEIGHTS weight [weight ...]: Задает вес для каждого сортированного множества. Вес по умолчанию — 1.AGGREGATE sum|min|max: Задает метод агрегации результата пересечения. По умолчанию —sum(sum).
Доступные версии
>= 2.0.0
Возвращаемое значение
Количество элементов, сохраненных в целевом результирующем множестве.
Примеры
# 有序集 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"
Другие расширения
