zoukankan      html  css  js  c++  java
  • redis 集合操作

    SADD : 将元素添加到集合

    127.0.0.1:6379> sadd list element [element ...]
    

      命令返回成功添加的元素数量作为返回值

    127.0.0.1:6379> sadd  databases "redis"
    (integer) 1
    

      忽略已存在的元素,因为集合不存储相同的元素

    127.0.0.1:6379> sadd  databases "redis"
    (integer) 0
    

      如果有新元素与已存在的旧元素,忽略已存在的元素

    127.0.0.1:6379> sadd  databases "redis" "mysql"
    (integer) 1
    

      srem 从集合里移除元素

    127.0.0.1:6379> SREM set element [element ...]
    

      移除元素操作

    127.0.0.1:6379> SREM databases "redis"
    (integer) 1
    

       如果给定元素不存在于集合里,那么srem命令会忽略不存在元素,只移除存在的元素 

    127.0.0.1:6379> srem databases "memcached"
    (integer) 0
    

      smove :将一个元素熊一个集合移动到另一个集合

    127.0.0.1:6379> SMOVE source target element 
    

      使用smove命令将存在于databases集合的redis元素以及mongodb元素移动到nodes集合里

    127.0.0.1:6379> sadd databases "redis" "mongodb"
    (integer) 2
    127.0.0.1:6379> SMOVE databases nodesql "redis" 
    (integer) 1
    127.0.0.1:6379> SMOVE databases nodesql "mongodb" 
    (integer) 1
    

      忽略不存在的元素,如果用户想要移动的元素并不存在与原集合,那么smove将放弃执行移动操作,返回0表示失败

    127.0.0.1:6379> sadd tr "app" "lpp" "cpp"
    (integer) 3
    127.0.0.1:6379> sadd tk "aipp" "lipp" "clpp"
    (integer) 3
    127.0.0.1:6379> SMOVE tr tk "apple" 不存在
    (integer) 0
    127.0.0.1:6379> SMOVE tr tk "app"
    (integer) 1
    

      smembers :获取集合包含的所以元素

    SMEMBERS set 
    

      获取集合tk里所有元素

    127.0.0.1:6379> SMEMBERS tk
    1) "app"
    2) "aipp"
    3) "clpp"
    4) "lipp"
    

      元素的无序排列:因为redis集合以无序的方式存储,并且以smembers命令在获取元素时也不会对元素进行任何排序,所以根据元素添加顺序不同,两个包含相同元素的集合在执行smembers命令时结果也会有所不同

    127.0.0.1:6379> sadd redis-1 "apple" "banana" "cherry" "hg"
    (integer) 4
    127.0.0.1:6379> sadd redis-2  "hg" "banana"  "apple" "cherry"
    (integer) 4
    127.0.0.1:6379> SMEMBERS redis-1
    1) "hg"
    2) "cherry"
    3) "apple"
    4) "banana"
    127.0.0.1:6379> SMEMBERS redis-2
    1) "cherry"
    2) "hg"
    3) "apple"
    4) "banana"
    

      scard:获取集合包含元素数量

    127.0.0.1:6379> SCARD set 
    

      查看redis-1 包含元素数量

    127.0.0.1:6379> SCARD redis-1
    (integer) 4
    

      sismember:检查给定的元素是否存在于集合里

    127.0.0.1:6379> SISMEMBER set element 
    

        查看测试

    127.0.0.1:6379> SMEMBERS databases
    1) "Neo4j"
    2) "mysql"
    3) "redis"
    4) "mongodb"
    5) "Postgresql"
    127.0.0.1:6379> SISMEMBER databases "redis"
    (integer) 1
    127.0.0.1:6379> SISMEMBER databases "mongodb"
    (integer) 1
    127.0.0.1:6379> SISMEMBER databases "mysql"
    (integer) 1
    

      检查不存在的元素

    127.0.0.1:6379> SISMEMBER databases "oracle"
    (integer) 0
    

      srandmember:随机获取集合里元素,命令不会移除集合里元素

    127.0.0.1:6379> SRANDMEMBER databases
    "mongodb"
    127.0.0.1:6379> SRANDMEMBER databases
    "redis"
    127.0.0.1:6379> SRANDMEMBER databases
    "redis"
    127.0.0.1:6379> SRANDMEMBER databases
    "redis"
    

      随机获取指定数量的元素

    127.0.0.1:6379> SRANDMEMBER databases 2
    1) "Neo4j"
    2) "mongodb"
    127.0.0.1:6379> SRANDMEMBER databases 3
    1) "redis"
    2) "mysql"
    3) "Neo4j"
    

      spop 随机从集合移除指定数量元素默认一个元素

    127.0.0.1:6379> spop key [count]
    

      随机移除元素操作

    127.0.0.1:6379> spop databases
    "mysql"
    127.0.0.1:6379> SMEMBERS databases
    1) "redis"
    2) "Neo4j"
    3) "Postgresql"
    4) "mongodb"
    

      sinter sinterstore:对集合进行交集计算

    127.0.0.1:6379> sinter set [set set] [key ...]
    

      创建两个元素,查看交集

    127.0.0.1:6379> sadd c1 "a" "b" "c" "d" 
    (integer) 4
    127.0.0.1:6379> sadd c2 "c" "d" "e" "f"
    (integer) 4
    127.0.0.1:6379> SINTER c1 c2
    1) "d"
    2) "c"
    

      sinterstore 命令可以把给定的集合的交集计算结果存储到指定的键里

    127.0.0.1:6379> SINTERSTORE destination_key set [set ...]
    

      将c1与c2的交集写入c3里

    127.0.0.1:6379> SINTERSTORE c3 c1 c2
    (integer) 2
    127.0.0.1:6379> SMEMBERS c3
    1) "d"
    2) "c"
    

      sunion 、sunionstore 集合并执行并集运算

    127.0.0.1:6379> SUNION set [set ...] [key 
    

      对c1与c2进行并集运算

    127.0.0.1:6379> SUNION c1 c2
    1) "d"
    2) "f"
    3) "c"
    4) "e"
    5) "b"
    6) "a"
    

      sunionstore  并集结果存入c4里

    127.0.0.1:6379> SUNIONSTORE c4 c1 c2
    (integer) 6
    127.0.0.1:6379> SMEMBERS c4
    1) "d"
    2) "f"
    3) "c"
    4) "e"
    5) "b"
    6) "a"
    

      sdiff sdiffstore 对集合进行差集运算

    127.0.0.1:6379> SDIFF set [set ...]
    

      对c1与c2 进行差集运算

    127.0.0.1:6379> SDIFF c1 c2
    1) "b"
    2) "a"
    

      sdiffstore 把c1与c2的差集运算的结果写进c5里

    127.0.0.1:6379> SDIFFSTORE c5 c1 c2
    (integer) 2
    127.0.0.1:6379> SMEMBERS c5
    1) "b"
    2) "a"
    

      

                      

    草都可以从石头缝隙中长出来更可况你呢
  • 相关阅读:
    装饰 Markdown
    小技巧
    LINUX 下挂载 exfat 格式 u 盘或移动硬盘
    Matlab 也很强大!
    imageio 载入 Buffer 格式的图片
    Docker 入门
    COCO 数据集使用说明书
    Python 基础 json 与pickle
    Python 基础 常用模块
    Python 基础 装饰器
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/12419516.html
Copyright © 2011-2022 走看看