redis zinterStore 有序集合(sorted set)命令简介


一、命令简介

zinterStore 有序集合(sorted set) 命令在redis中主要功能是:

获取两个 “有序集合” 中相同的元素,并将这些相同的元素放入指定的 “有序集合”中,
并且将元素所对应的排序字段叠加,生成新的排序值。


二、命令使用说明

命令语法如下:

redis 192.168.8.123>zinterstore ssetKeyBack 集合数量 ssetKeyName1 ssetKeyName2 ssetKeyName3 ... 
注意事项:
  
  1 当ssetKeyName1 ssetKeyName2 ssetKeyName3 ...  其中一个 集合 不存在redis数据库中时,返回 0 ,并且会删除 ssetKeyBack键。
  2 集合数量 需等于   ssetKeyName1 ssetKeyName2 ssetKeyName3 ...  个数之和,否则系统会返回相应的错误信息。
  2 当ssetKeyName1 ssetKeyName2 ssetKeyName3 ... 为其它非(集合)数据类型时,返回相应的错误提示信息。
  3 命令执行成功,客户端返回 存在ssetKeyName1中的元素,并且存在以下所有 ssetKeyName2  ssetKeyName3   ... 中的元素
     并将客户端返回的元素放入ssetKeyBack键中,将元素所对应的排序字段之和相加 形成新的排序信息。
  4 如果ssetKeyBack中存在元素,则集合中的元素 会被新的元素列表覆盖。
  5 命令执行成功 返回ssetkeyBack中的元素个数。
  6 如果 ssetKeyBack 存在于redis数据库中,那么系统会先删除此键,再 新建此键,并将运行后的结果放入此键中。


例:

 redis 192.168.8.123:6379> flushdb //清空redis数据库
OK
redis 192.168.8.123:6379> set k v //设置一个string数据类型
OK
redis 192.168.8.123:6379> get k
"v"
redis 192.168.8.123:6379> zadd k1 1 v1 2 v3 //设置一个有序集合
(integer) 2
redis 192.168.8.123:6379> zinterstore k2 2 k k1 //对一个非 有序集合的数据 进行 "求同" 操作 ,客户端返回相应的错误信息
(error) WRONGTYPE Operation against a key holding the wrong kind of value
redis 192.168.8.123:6379> zinterstore k 2 k1 k2 //对一个空集合 进行“求同” 操作 返回影响个数 0 并会清空 集合键 k
(integer) 0
redis 192.168.8.123:6379> keys * //检测 键 k 是否存在
1) "k1"
redis 192.168.8.123:6379> zadd k2 122 v1 8 v8
(integer) 2
redis 192.168.8.123:6379> zinterstore k 2 k1 k2
(integer) 1
redis 192.168.8.123:6379> zrange k 0 -1 withscores  //返回元素及排序字段
1) "v1"
2) "123" 

如下图所示:

redis zinterstore sset命令用法简介

redis zinterstore sset命令用法简介


相关阅读:
redis zincrby 有序集合(sorted set)命令简介
redis zcount 有序集合(sorted set)命令简介
redis zcard 有序集合(sorted set)命令简介
redis zadd 有序集合(sorted set)命令简介
redis 数据库 数据类型 “有序集合(sorted set)” 简介
redis 数据库 数据类型 “集合(set)” 简介
window redis 文件夹文件说明 (二) —[ redis-cli]
window redis 文件夹文件说明 (一 )
Redis 数据类型简介
windows下 Redis配置
c# redis应用实例
redis相关简介
KV数据库简介