1.无序集合
集合的特性:
①确定性
②互异性
③无序性
redis的set是string类型的无序集合
set元素最大可以包含(2^32-1)个元素

sadd key value1....valueN 将将元素value1...valueN添加到集合key中,返回成功添加元素个数N
如果元素value已在集合set中,则返回0;对应set不存在返回错误

srem key value1 [value2 ... valueN] 从集合key中移除给定元素value1 ... valueN,返回成功删除个数N

smove key1 key2 value 将集合key1中的元素value移除,并添加到集合key2中,成功返回1

scard key 返回集合key的元素个数

sismember key value 判断元素value是否在集合key中,存在返回1,不存在返回0

sinter key1 key2 ... keyN 返回所有给定集合key1,key2....keyN的交集

sinterstore deskey key1 ... keyN 将集合key1.....keyN的交集存储到集合deskey中,返回deskey的元素个数

sunion key1 key2 ... keyN 返回所有给定集合key1,key2....keyN的并集

sdiff key1 key2 ... keyN 返回所有给定集合key1,key2...keyN的差集

smembers key 返回给定集合key的所有元素,结果是无序的

spop key 随机返回集合key中的一个元素,并将集合key中的该元素删除

srandmember key 随机返回集合key中的一个元素,但不删除该元素

2.有序集合(sorted set)
有序集合也是string类型元素的集合,不同的是每个元素都会关联一个权
通过权值可以有序的获取集合中的元素

zadd key score1 member2 score2 member2 添加元素member1,member2到有序集合key,对应的权重分别为score1,score2;如果元素member在集合中存在则更新对应的score

zrem key member 删除有序集合key中指定元素,返回1表示成功,如果元素不存在返回0

zincrby key incr member 按照incr的值增加对应member的score值,返回score值

zrank key member 返回指定元素在集合中的排名,集合中的元素按照score从小到大排序

zrevrank key member 返回指定元素在集合中的排名,但是元素是按照score从大到小排序

zrange key start end [withscores] 把集合中元素按score升序排序后,
返回第start到end名次的有序元素,从第0名开始,withscores将score也打印出来

zrangebyscore key score1 score2 [withscores] limit offset N 把集合升序
排序后,在score在[score1 score2]的元素中跳过offset个元素取N个元素

zrevrange key start end 操作集合中按score逆序排序后指定区间元素,
返回结果有序

zcard key 返回集合key中元素个数

zscore key element 返回给定元素对应的score

zremrangebyrank key mim max 删除集合中排名在[min max]名次的元素,返回被删除元素的个数

zremrangebyscore key score1 score2 将集合排名后,按照score来删
除元素,删除score在[score1 score2]之间的元素,并返回被删除元素的个数

zcount key score1 score2 统计集合key中score在score1到score2之间的元素个数,返回元素个数

zinterstore destination numberkeys key1 [key2 ....] [ weights weight1 [weight2] ...] [aggregate sum|min|max]
计算key1,key2...keyN交集,key1,key2的权重分别是weight1,weight2
numberkeys:参与计算交集的集合个数
aggregate:指集合方法,包含求和sum,最小值min,最大值max
destination:将最终结果保存到该集合中

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
求并集,理解同上求交集

Redis集合相关命令的更多相关文章

  1. Redis的相关命令

    Redis的相关命令 redis程序的命令 /usr/bin/redis-benchmark /usr/bin/redis-check-aof /usr/bin/redis-check-rdb /us ...

  2. Redis key 相关命令

    其实本质上,Redis 就是一个Key---Value 数据库.这里我先介绍下Redis中关于的key的相关命令, 注意:key是字符串存储,但是不能使用 空格 或者 “\n”,value 则可以使用 ...

  3. redis 之相关命令

    为什么缓存数据库更要首选redis?如何使用redis? 一.使用缓存数据库为什么首选用redis? 我们都知道,把一些热数据存到缓存中可以极大的提高速度,那么问题来了,是用Redis好还是Memca ...

  4. redis连接相关命令

    命令名称:echo 语法:echo message 功能: 打印一个特定的信息message,测试时使用. 返回值: message自身 命令名称:ping 语法:ping 功能: 使用客户端向red ...

  5. redis底层相关命令(一)

    说明 用于分析redis底层数据结构以及内存情况 底层数据结构分析 1.查看key键的对象类型type key 本地:>sadd test1 本地:>type test1 set 2.查看 ...

  6. redis启动相关命令(Windows)

    一.安装redis:略 二.进入redis的安装目录,使用cmd 1.安装redis服务并加入window服务:redis-server --service-install redis.windows ...

  7. redis 库相关命令

    切换数据库: select 1 查看数据库大小:dbsize 清空数据库: flushdb

  8. redis Hash相关命令

  9. redis Set相关命令

随机推荐

  1. RSA算法优化

    RSA算法优化 大数乘法 模乗优化 剩余定理(孙子定理) RSA加解密 python的RSA计算优化 #-*- coding: utf-8 -*- ''' /********************* ...

  2. CF 327E(Axis Walking-状态压缩Dp-lowbit的使用)

    E. Axis Walking time limit per test 3 seconds memory limit per test 512 megabytes input standard inp ...

  3. [C++]neuroscan的延时预估

    一直用自己写的程序在线处理脑电信号,知道其中有一个时间延时,但具体延时是多少没有是个准确的估计,今天抽时间做了一下,发现大概延时在100ms左右. 以后尝试使用并口操作.应该可以完全避免这个问题. 实 ...

  4. java.lang.IllegalArgumentException: Wrong FS ...异常的解决

    配置完Hbase后,启动,JPS发现少了HMaster这个进程.查看了一下日志如下: java.lang.IllegalArgumentException: Wrong FS: hdfs://192. ...

  5. Swift 3.0 字符串、数组、字典的使用

    1.字符串 string func stringTest() -> Void { // 字符串 let str1 = "yiyi" let str2 = "2222 ...

  6. spring启用线程空指针异常

    在service里启用了一个线程,线程的run方法调用了service的方法,报了空指针异常,不知道怎么回事.不过貌似是spring的注入问题,只要在线程里调用了dao或者service里的某些方法, ...

  7. [ios2]iphone编程中使用封装的NSLog来打印调试信息 【转】

    使用NSLog的一个风险是:它的运行会占用时间和设备资源. 简单而粗暴的解决方案是:在release前,将所有的NSLog注释掉.简单有效,但副作用是:下次你要调试时,又得将NSLog一个个取消注释. ...

  8. 用浅/深拷贝、和HTML5方法解决js对象的引用的问题

    先来看一个例子 例一: var a=[1,2,3]; var b=a; b.push(4); alert(b);//1,2,3,4 alert(a);//1,2,3,4 var a=[1,2,3]; ...

  9. IntelliJ IDEA新建JAVA WEB项目(转载)

    IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本控制工具(git.svn ...

  10. console.dir()和console.log()的区别

    console.log()可以取代alert()或document.write(),在网页脚本中使用console.log(data)时,会在控制台打印出数据. console.dir()可以显示一个 ...