• redis基本数据结构-集合set


    redis基本数据结构-集合set

     

    • 特性
    • 一个集合键最多存储 2^32 - 1 个字符串值
    • 元素在集合内无序(哈希表-链地址法解决冲突)
    • 元素在集合内唯一

     


      

    • 向集合添加元素
    sadd key  value1 value2 ...
    sadd letters a b c d

    返回4(实际添加的元素个数), letters = {a, b, c, d},无序,只为指示集合中的值

     

    • 从集合删除元素(只删除且只返回实际删除了的个数,而不返回删除的元素值)
    srem key value1  value2 ...
    srem a c 

     返回2(实际删除的元素个数), letters = {b, d}

     

    • 获取集合中的所有元素
    smembers key
    smembers  letters

     letters = {b, d}

     

    • 判断元素是否在集合中
    sismember key value
    sismember  letters b

     返回1

    sismember letters a

     返回0

     

     

    • 相减运算
    sdiff  key1  key2 ...

     说明:  sdiff key1 key2 === {x | x∈key1  and x∉key2}

    sadd letters a c 
    sadd letters2 a b c
    sdiff letters letters2

    letters = {a, b, c, d}

    letters = {a, b , c}

    返回{d}

     

    • 相交运算
    sinter  key1  key2 ...
    sinter letters  letters2

     返回 {a, b, c} 

     

    • 并集运算
    sunion  key1  key2 ...
    sunion  letters  letters2 

    返回 {a, b, c, d}

     

     

    • 获取集合中的元素总数
    scard   key
    scard  letters

     返回 4,  letters = {a, b, c, d}

     

     

    随机获取集合中的(指定个数)元素

    srandmember  key [count]

    当 不指定count,返回1个

    当 count > 0,返回count不重复的,如果count > scard key ,则返回全部

    当 count < 0,返回abs(count)个可能会重复的,如果abs(count) > scard key,则返回可能重复的abs(count)个

    letters = {a, b, c, d}

    srandmember  letters

     返回 b,随机的,不一定是b

    srandmember lettters   -3

     返回{a, b, a},随机的,不一定是这3个

     

     

    • 进行集合运算并将计算结果存储在一个key中

    key1 key2 ... 等键做diff运算后存储在key中

    sdiffstory  key   key1  key2 ...

     

     

    • key1 key2 ... 等键做交集运算后存储在key中 
    sinter key  key1  key2 ...

     

     

    •  key1 key2 ... 等键做并集运算后存储在key中
    sunion  key  key1  key2 ...

      

     

    • 从集合中弹出某个元素(随机删除并返回元素值,区别于srem)
    spop  key
    spop  letters

     返回 a,随机的,不一定是a

     

    **********************技术交流请 email:cuihao0532#163.com 欢迎转载,转载请注明出处!***************************** 如果对本文满意请扫描文章左侧【二维码添加微信】获取更多好玩、有趣、有益、有营养的料, 你我共同成长!Y(^_^)Y
  • 相关阅读:
    Educational Codeforces Round 72 (Rated for Div. 2)
    2249: Altruistic Amphibians 01背包
    lh的简单图论
    E. XOR Guessing 交互题 Educational Codeforces Round 71 (Rated for Div. 2)
    C. Helga Hufflepuff's Cup 树形dp 难
    B. Marvolo Gaunt's Ring 前缀后缀
    android学习-IPC机制之ACtivity绑定Service通信
    大数组分时加载算法 timedChunk
    log4j 配置和使用
    fastjson 配置和使用
  • 原文地址:https://www.cnblogs.com/cuish/p/14706920.html
Copyright © 2020-2023  润新知