• redis set 结构


    redis set 结构

    向 set 中添加元素

    sadd key value [value2 value3....]
    例如:
    sadd gender male female
    
    127.0.0.1:6379> sadd gender male female
    (integer) 2
    127.0.0.1:6379> sadd gender yao yao
    (integer) 1   # set 是不可以重复的 所以此处只有一个进入set
    

    查看 set 中的元素

    smembers key
    例如:
    smembers gender
    
    127.0.0.1:6379> smembers gender
    1) "female"
    2) "male"
    3) "yao"
    

    删除 set 中方的元素

    srem key
    例如:
    srem gemder a
    
    127.0.0.1:6379> srem gender yao
    (integer) 1
    127.0.0.1:6379> srem gender x c
    (integer) 0
    127.0.0.1:6379> srem gender male x y
    (integer) 1
    

    从 set 中随机 pop 出元素

    spop key
    例如:
    spop gender
    
    127.0.0.1:6379> spop gender
    "female"
    

    从 set 中随机抽取 n 个元素 默认 是 1 个

    srandmember key n  # n s是要抽取元素的个数
    例如:
    srandmember gender 2
    
    127.0.0.1:6379> srandmember gender 2
    1) "g"
    2) "e"
    

    查看 是否是 set 中的数据

    sismember key value
    例如:
    sismember gender r
    
    127.0.0.1:6379> sismember gender r
    (integer) 0
    

    查看 set 中的元素个数

    scard key
    例如:
    scard gender
    
    127.0.0.1:6379> scard gender
    (integer) 7
    

    将 A set 中的元素 移动到 B set 中

    smove source destination value  #  将 value 从 source 中 移动到 destination 中 
    例如:
    smove upper lower A
    
    127.0.0.1:6379> sadd upper A B C D
    (integer) 4
    127.0.0.1:6379> sadd lower E F G H
    (integer) 4
    127.0.0.1:6379> smove upper lower A
    (integer) 1
    127.0.0.1:6379> smembers upper
    1) "D"
    2) "B"
    3) "C"
    

    Set 的 并、交、差 计算

    sinter key1 key2 [key3 key4...]  key1 和 key2 对应集合的交积
    例如:
    sinter lisi wang
    
    sunion key1 key2 [key3 key4...]  key1 和 key2 对应集合的并积
    例如:
    sunion lisi wang
    
    sdiff key1 key2 [key3 key4...]  key1 对 key2 对应集合的差积
    例如:
    sdiff lisi wang
    
    127.0.0.1:6379> sadd lisi a b c d
    (integer) 4
    127.0.0.1:6379> sadd wang a c d e f
    (integer) 5
    127.0.0.1:6379> sinter lisi wang
    1) "d"
    2) "a"
    3) "c"
    127.0.0.1:6379> sunion lisi wang
    1) "f"
    2) "e"
    3) "c"
    4) "d"
    5) "b"
    6) "a"
    127.0.0.1:6379> sdiff lisi wang
    1) "b"
    

    将 set 对交集计算输出到另一个集合中

    sinterstore destination key1 key2 [key3 key4...]
    例如:
    sinterstore res lisi wang
    
    127.0.0.1:6379> sinterstore res lisi wang
    (integer) 3
    
  • 相关阅读:
    [转]Intellij IDEA快捷键与使用小技巧
    Swoole来实现实时异步任务队列
    php 异步执行脚本
    Centos 7 systemctl和防火墙firewalld命令
    tgz的解压
    error: C++ preprocessor "/lib/cpp" fails sanity check错误解决方法
    Linux 命令详解(三)./configure、make、make install 命令
    LNMP, CentOS7.0+Nginx+Mysql5.7+PHP7环境安装
    phpmailer使用qq邮箱、163邮箱成功发送邮件实例代码
    Mibew Messenger (also known as Open Web Messenger)
  • 原文地址:https://www.cnblogs.com/sha-ka/p/12779250.html
Copyright © 2020-2023  润新知