Zinterstore 命令
先来看一下这个命令的定义:
Redis Zinterstore 命令计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。
默认情况下,结果集中某个成员的分数值是所有给定集下该成员分数值之和。
语法
redis Zinterstore 命令基本语法如下:
redis 127.0.0.1:6379> ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
用大白话解释的话就是,首先这个命令是用来合并多个(也可以是两个)集合中共同拥有的key的值用的.
实例:
#创建一个数学成绩的有序集合,有三个学生 张三、李四、王五
127.0.0.1:6379> zadd math_score 50 'zhang san' 95 'lisi' 78 'wangwu'
(integer) 3
#按照升序查看结果集
127.0.0.1:6379> zrangebyscore math_score 0 100 withscores
1) "zhang san"
2) "50"
3) "wangwu"
4) "78"
5) "lisi"
6) "95"
#创建一个英语成绩的有序集合,里面有四个学生 张三、李四、王五、朱六
127.0.0.1:6379> zadd english_score 90 'zhang san' 50 'zhu liu' 75 'lisi' 80 'wangwu'
(integer) 4
#按照升序查看结果集
127.0.0.1:6379> zrangebyscore english_score 0 100
1) "zhu liu"
2) "lisi"
3) "wangwu"
4) "zhang san"
#如果加了 withscores 结果集里面会出现成绩
127.0.0.1:6379> zrangebyscore english_score 0 100 withscores
1) "zhu liu"
2) "50"
3) "lisi"
4) "75"
5) "wangwu"
6) "80"
7) "zhang san"
8) "90"
#现在我们想查看两门功课学生的总分排序,结果保存在新的集合sum_score中,
sum_score 后面的数字2 代表要合并几个集合,我们合并两个就写2.
127.0.0.1:6379> zinterstore sum_score 2 math_score english_score
(integer) 3
#查看合并后的结果,我们发现并没有 朱六的成绩,因为朱六的信息只存在于
english_score中,Zinterstore 命令计算给定的一个或多个有序集的交集,
也就是集合中共同有有的值才会合并到新的结果集中.
127.0.0.1:6379> zrangebyscore sum_score 0 300 withscores
1) "zhang san"
2) "140"
3) "wangwu"
4) "158"
5) "lisi"
6) "170"
Zinterstore 命令的更多相关文章
- Redis学习笔记(3) Redis基础类型及命令之二
1. 集合类型 集合类型与列表类型有很多相似之处,但二者的区别在于:前者具有唯一性,但不具有有序性:后者具有有序性,但不具有唯一性.集合类型的常用操作是向集合中加入或删除元素.判断某个元素是否存在等, ...
- Redis数据结构及相应的命令
Redis可以存储键(key)与5种不同类型值(value)之间的映射,5中不同类型的值分别为字符串(string),列表(list),散列(hash),集合(set)和有序集合(sorted set ...
- Redis中的数据结构与常用命令
开发系统:Ubuntu 17.04Redis驱动:StackExchange.Redis 1.2.3Redis版本:3.2.1开发平台:.NET Core 对于Redis的介绍这里只写一句:Redis ...
- redis 的简单命令
以下实例讲解了如何启动 redis 客户端: 启动 redis 客户端,打开终端并输入命令 redis-cli.该命令会连接本地的 redis 服务. $redis-cli redis > re ...
- redis命令手册
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- Redis 学习之路 (010) - redis命令手册
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- 【命令】Redis常用命令整理
doc 环境下使用命令: keys 命令 ? 匹配一个字符 * 匹配任意个(包括0个)字符 [] 匹配括号间的任一个字符, ...
- Redis常用命令整理
doc 环境下使用命令: keys 命令 ? 匹配一个字符 * 匹配任意个(包括0个)字符 [] 匹配括号间的任一个字符, ...
- 第三课补充01——set类型 sorted类型命令操作详解,redis管道及事务
1. set类型的命令操作: (1)sadd命令:向key指定的set集合添加成员 ##sadd命令:是设置set集合类型的数据,sadd <key> <mumber> [& ...
随机推荐
- 第一章计算机网络和因特网-day01
什么是因特网: 其一:构成因特网的基本硬件与软件. 其二:为分布式应用提供服务的联网基础设施. 终端机器称为主机( host ) 或者端系统( end system ) 端系统通过通信链路(commu ...
- CPU 和 Linux 进程
进程与线程 进程应该是Linux中最重要的一个概念.进程运行在CPU上,是所有硬件资源分配的对象.Linux中用一个task_struct的结构来描述进程,描述了进程的各种信息.属性.资源. Linu ...
- ArcGis教程
91卫图助手帮助中心-如何导出ArcGIS Server瓦片格式并进行发布 http://help.91weitu.com/rhdcarcgis%20serverwpgsbjxfb.html ArcG ...
- PHP:JSON字符串转换为中文,中文转换为JSON字符串
/** * 中文转换为JSON字符串 * @param $chinese_str 中文:可以包含中文字母数字 * @return string */ function json_encode($chi ...
- 机器学习:SVM(scikit-learn 中的 SVM:LinearSVC)
一.基础理解 Hard Margin SVM 和 Soft Margin SVM 都是解决线性分类问题,无论是线性可分的问题,还是线性不可分的问题: 和 kNN 算法一样,使用 SVM 算法前,要对数 ...
- Annotation之四:注解中的-Xlint:unchecked和 -Xlint:deprecation
一.-Xlint:unchecked用法 对如下Test.java编译时 package com.dxz.annotation; import java.util.ArrayList; import ...
- 转:MySQL InnoDB Add Index实现调研
MySQL InnoDB Add Index实现调研 MySQL Add Index实现 MySQL各版本,对于add Index的处理方式是不同的,主要有三种: Copy Table方式 这是Inn ...
- MySQL 双主+keepalived 详细文档 M-M+keepalived
1. 操作系统,系统环境,目结结构,用户,权限,日志路径,脚本2. 配置规范化 1.1 操作系统准备 操作系统 Kylin Linux release 3.3.1707 (Core)数据库版本 mys ...
- scrapy xpath 节点关系
父节点 子节点 兄弟节点 先辈节点 后代节点
- windows 修改端口数据及连接时间
最近线上遇到windows机器访问其他机器的时候失败的情况.实际就是本地的端口不够用造成的. D:\>netsh interface ipv4 show dynamicportrange pro ...