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. Java Concurrency (1)

    Memory that can be shared betweenthreads is called shared memory or heap memory. The term variable a ...

  2. ok6410 u-boot-2012.04.01移植二修改源码支持单板

    继ok6410 u-boot-2012.04.01移植一后修改代码,对ok6410单板初始化,主要包括时钟.串口.NAND.DDR等初始化.这些工作在以前的裸板程序都写了,直接拿来用.我觉得先写裸板程 ...

  3. 使用IDEA开发

    IDEA 在使用IDEA之前,我是eclipse的忠实用户.无论是最初学习java,还是后来用python/golang. eclipse丰富的插件已经满足了我大部分的使用,直到在师弟的大力推荐下使用 ...

  4. 基于node.js构建微服务中的mock服务

    缘起 由于现在微服务越来越火了,越来越多的微服务融入到了日常开发当中.在开发微服务的时候,经常会遇到一个问题由于依赖于其他服务,导致你的进度受到阻碍.使你不得不先mock出你期望调用依赖服务的输出,来 ...

  5. 虚拟键盘冲击移动端fixed布局的解决方案

    在做移动端业务开发时,会碰到fixed元素和输入框同时存在的情况.在手机软键盘唤起的情况下,会造成原本fixed定位的元素跟随软键盘而上浮,对整体布局造成冲击.来看这样一个栗子直观的感受一下这个bug ...

  6. D3.js:交互式操作

    用户用于交互的工具一般有三种:鼠标.键盘.触屏. 1. 添加交互 对某一元素添加交互操作十分简单,代码如下: //画布大小 var width = 500, height = 500; // 在bod ...

  7. response.addCookie(cookie)添加cookie失败.

    两个if循环能进来,创建的两个cookie也能通过控制台输出.  但是却添加失败. 原因是:request.getRequestDispatcher("/MainFrame").f ...

  8. PHP判断一个变量是否可以通过foreach进行遍历

    <?php if( !is_array( $items ) && !$items instanceof Traversable ) //Throw exception here ...

  9. 使用canvas实现超绚丽的旋转正方形

    自己无意中的一个小"bug",却让动画变得超绚丽= = 所以,不要害怕出bug,谁知道bug不会开出一朵绚丽的花呢? <!DOCTYPE html> <html ...

  10. StringBuilder跟StringBuffer

    一直以来只知道StringBuffer是线程安全的,StringBuilder是线程不安全的, 所以通常情况下使用StringBuilder,这样可以提升效率!!! 今天由于想起StringBuild ...