Redis数据操作命令 二

四、Redis set类型

  set是string类型的无序集合,是通过hash table实现的,增删查的复杂度都是0/1,对集合可以取并集,交集,差集

  并集:合并两个集合的数据,取出重复的数据       交集:取两个集合中相同的数据      差集:取两个集合中不同的数据,交集的相反

  基本操作命令:

    sadd key member [member .......]   向一个set集合中插入数据,可以同时插入多个,返回值为插入数据的数量,代表插入成功,已存在的数据不会重复插入

    例:sadd set 1 2 3 4 5 6  返回值 6,代表插入六条数据,再次执行 sadd set 1 7 8 9,会返回3,因为值 1 已存在,所有第二次只会插入7 8 9,成功三条

    smembers key 查看一个set集合中所有的数据

    srem key member [member.....] 从一个set集合中删除元素,可同时删除多个,返回值为删除元素的个数

    spop key [count] 从一个set集合内随机弹出count个元素,返回弹出的元素值

    sdiff  key [key...] 取差集,以第一个key为参照,例:set1中包含1 2 3,而set2中 1 2,sdiff set1 set2 值为3,若反过来则没有差集,(返回第一个key在第二个key中不存在的值)

    sdiffstore destination key [key ...] 取出差集后,存入新的set集合内

    sinter key [key ...] 取交集,两个set集合内相同的值 

    sinterstore destination key [key ...] 将交集存入一个新的set集合

    sunion key [key ...] 去两个集合中的并集

    sunionstore destination key [key ...] 并集存入新的set集合

    smove source destination member 把member从source的集合移动destination集合内

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

    sismember key member 判断一个集合内是否存在某个元素,1位存在,0不存在

    srandmember key [count] 从一个集合内随机返回count个元素

 

五、Redis sorted set有序集合类型

  set集合的有序版本,每添加一个元素时可以指定顺序,顺序属性在添加修改元素时可以指定,每次指定后,zset会自动按新的值调整顺序

  zadd key score member [score member....] 向集合内添加新元素,score为顺序,member为对应的值

  zrange zset1 0 -1 withscores 取值,withscores为是否显示顺序值,升序排序,从小到大

  zset集合内的值是唯一的,但值的顺序号可被更改

  zrem zst1 member [member ...]  删除方法

  zincrby zset1 increment member 对顺序自增,increment为增加的数量,member代表对哪个元素自增,返回值为自增后的顺序值

  zrank key member 返回指定member值在集合中的下标位置,按照顺序从小到大排序

  zrecrank key member 效果与上相同,但是排序从大到小计算,返回值正好与上述相反

  zrevrange zset1 0 -1 withscores 同为取值,排序为降序,从大到小

  zrangebyscore key min max withscores  按照排序序号取值

  zcount key min max 获得score给定区间内元素的数量

  zcard key 返回集合中所有元素的数量

  zremrangebyrank key start stop 删除集合中start-stop下标范围内的数据

  zremrangebyscore key min max 删除集合中min-max排序范围内的数据

  

posted on 2017-10-11 17:06  emmeet  阅读(109)  评论(0编辑  收藏  举报

导航