zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    HTML 基础 元素 标签
    HTML5 元素介绍
    网站程序 模板下载 下载 ftp
    域名解析和空间绑定
    如何选择云虚拟主机操作系统?
    网站备案查询
    响应式网站01
    项目中使用百度统计和友盟统计
    项目中使用http referer,为了盗取图片资源
    vue-awesome-swiper中的数据异步加载
  • 原文地址:https://www.cnblogs.com/cuish/p/14706920.html
Copyright © 2011-2022 走看看