sets类型及操作
set是集合,它是string类型的无序集合。通过hash table实现,添加、删除、查找的复杂度都是0(1)。对集合我们可以实现取交际、差集并集。通过这些操作我们可以实现SNS中的好友推荐和blog的tag(标签)功能

sadd
    向集合中添加元素,成功返回1,失败返回0,重复值添加为失败
    例如:
    sadd myset1 hello

smembers
    查看集合中的元素
    例如:
    smembers myset1

scard
    查看集合中的元素个数
    例如:
    scard myset1

sismember
    测试元素在不在集合中,存在返回1,不存在返回0
    例如:
    sismember myset1 two

srem
    删除集合中的元素,成功返回1,失败返回0
    例如:
    srem myset1 hello

spop
    随机从集合中弹出一个元素,并删除,返回弹出元素的值
    例如:
    spop myset1

sdiff
    返回第一个集合在第二个集合中的差集部分
    例如:
    myset1 中有 three two
    myset2 中有 two one
    sdiff myset1 myset2  //不会返回 three one 只会返回 three

sdiffstore
    返回第一个集合在第二个集合中的差集部分,并将结果保存到另一个集合中
    例如:
    sdiffstore myset4 myset2 myset3  //把myset2在myset3中的差集保存在myset4中

sinter
    返回所有集合的交集
    例如:
    sinter myset1 myset2

sinterstore
    返回所有集合的交集,并保存,用法同sdiffstore

sunion
    返回所有集合的并集
    例如:
    sunion myset1 myset2

sunionstore
    返回所有集合的并集,并保存,用法同sdiffstore

smove
    把第一个集合中的指定元素,移动到第二个集合
    例如:
    smove myset2 myset1 three

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

sorted sets
是对set的一个升级版本,它在set的基础上增加了一个顺序属性,这个属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。

zadd
    向集合中添加元素,member,score用于排序,如果该元素存在,则更新其顺序
    例如:
    zadd myzset1 1 one

zrange
    查看zset集合中的元素
    例如:
    zrange myzset1 0 -1 withscores    //withscores 输出顺序号,不是必须

zrem
    删除值为指定的元素
    例如:
    zrem myset1 two

zincrby
    向集合中添加元素,如果元素已经存在,则该元素的score增加increment的值,否则向该集合中添加该元素,其score的值为increment
    例如:
    zincrby myzset1 2 four

zrank
    返回集合中元素的排名,按score从小到大的顺序,即下标,和数组一样从0开始
    例如:
    zrank myzset1 four

zrevrank
    和zrank一样,不同是从大到小排序

zrevrange
    返回集合中的结果,降序排序
    例如:
    zrevrange myzset1 0 -1 withscores

zrangebyscore
    返回指定返回的元素
    例如
    zrangebyscore myzset1 2 3 withscores
    
    zcount
    返回集合中score在给定区间的元素的数量
    例如:
    zcount myzset1 2 4

zremrangebyrank
    删除集合中指定索引范围内的元素
    例如:
    zremrangebyrank myzset1 1 3

zremrangebyscore
    删除集合中指定score范围内的元素
    例如:
    zremrangebyscore myzset1 1 2

redis sets类型及操作的更多相关文章

  1. redis数据类型:sorted sets类型及操作

    sorted sets类型及操作: sorted set是set的一个升级版本,它是在set的基础上增加了一个顺序 属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会 自动重新按新的值 ...

  2. Redis学习第二课:Redis String类型及操作

    Strings类型 String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象. Strings类型的操作: Set:设置 ...

  3. 四:redis的sets类型 - 相关操作(有序和无序集合)

    ================四十五种(有序和无序集合):sets种类(它是一个集)=============      简介:  set它代表的集合.加入是随意添加----->无序集合    ...

  4. Redis hash 类型及操作

    原文:http://blog.sina.com.cn/s/blog_5f044a4d0102v01k.html Redis hash是一个string类型的field和value的映射表.它的添加.删 ...

  5. Redis学习第四课:Redis List类型及操作

    list是一个链表结构,主要功能是push.pop.获取一个范围的所有值等,操作中key理解为链表的名字. Redis的list类型其实就是一个每个子元素都是string类型的双向链表.我们可以通过p ...

  6. Redis学习第三课:Redis Hash类型及操作

    Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适用于存储对象.相较于对象的每个字段存在单个string类型.将一个对象 ...

  7. Redis string类型常用操作

      Redis 有 string.list.set.zset.hash数据类型.string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习re ...

  8. Redis学习第五课:Redis Set类型及操作

    Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是O(1). 对集合我们可以取并集.交集.差集.通过这些操作我们可以实现SNS中的好友推 ...

  9. Redis字符串类型的操作

    set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000  , 9秒有效 注: 如果ex ...

随机推荐

  1. Split()特殊字符

    关于点的问题是用string.split("[.]") 解决. 关于竖线的问题用 string.split("\\|")解决. 关于星号的问题用 string. ...

  2. Android客户端通过socket与服务器通信

    android端--Client package com.sec.chatroomandroid; import java.io.BufferedReader; import java.io.Buff ...

  3. 利用ZjDroid对 <捕鱼达人3> 脱壳及破解过程-转

    http://blog.sina.com.cn/zihao2015 <捕鱼达人3> 刚出来不久,就被鬼哥Dump出来dex,随之破解也就轻而易举.一开始我用ZjDroid神器试验过,但是没 ...

  4. (转)多个MapReduce作业相互依赖时,使用JobControl进行管理

    原文地址:http://mntms.iteye.com/blog/2086990 要处理复杂关系的数据,一个工程里面绝对不止一个MapReduce作业,当有多个MapReduce作业时,       ...

  5. cc2530启动流程---广播发送数据

    //操作系统任务初始化 void osalInitTasks( void ) { uint8 taskID = ; // 分配内存,返回指向缓冲区的指针 tasksEvents = (uint16 * ...

  6. ural1752 Tree 2

    Tree 2 Time limit: 1.0 secondMemory limit: 64 MB Consider a tree consisting of n vertices. A distanc ...

  7. 读 《我为什么放弃Go语言》 有感

    最近又熟悉了下go语言,发现go语言还有许多设计不好的地方,然后又读到了<我为什么放弃Go语言>这篇文章, 对于某些方面,我还是比较认同的. 这篇文章总结了十六点,如下: 1.1 不允许左 ...

  8. win10 下使用虚拟机安装ubuntu及其网络配置

    通过虚拟机安装ubuntu 我的机器是64位的win10系统,使用的虚拟机VMware workstation 12 pro 安装的是ubuntu 14.04, 网上教程很多,很详细也有有效 win1 ...

  9. 如何用70行Java代码实现深度神经网络算法

    http://www.tuicool.com/articles/MfYjQfV 如何用70行Java代码实现深度神经网络算法 时间 2016-02-18 10:46:17  ITeye 原文  htt ...

  10. tooltip 鼠标移动上去出现图片或文字与title大同小异

    代码如下: <script type="text/javascript" src="jquery-1.3.2.min.js"></script ...