• 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排序范围内的数据

      

  • 相关阅读:
    XML WebService完全实例详细解析
    List (Java 2 Platform SE 5.0)
    frameset
    关于在outlook2007里面编辑签名的问题
    关于javax.servlet.Http.*;不能被引用的问题
    select标签HTML,刚做地。
    UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
    玩转UICollectionViewLayout
    常用公共方法
    cell嵌套UIWebView遇到的几个问题
  • 原文地址:https://www.cnblogs.com/emmeet/p/7651595.html
Copyright © 2020-2023  润新知