• redis 的使用 ( set集合类型操作)


    set 集合类型

        释义:
        
            redis 的 set 是 string 类型的无序集合

            set 元素最大可以包含(2的32次方-1)个元素

            关于 set 集合类型除了基本的添加删除操作 其他有用的操作还包含集合的

            并集(union),交集(intersection),差集(difference).

            通过这些操作实现SNS中的 好友推荐功能

        注意:

            每个集合中的各个元素不能重复

        应用场合:

            QQ好友的推荐

        set 类型操作:

            sadd key member

                添加一个 string 元素到 key 对应的 set 集合中 成功返回 1 如果元素在集合中 返回0  若 key 对应的 set 集合不存在 返回错误

            srem key member[member]

                从 key 对应的 set 中移除给定的元素 成功返回 1

            smove p1 p2 member

                从 p1 对应 set 中移除 member 并添加到 p2 对应 set 中

            scard key

                返回 set 中元素的个数

            sismember key member

                判断 member 是否在 set 中

            sinter key1 key2... keyN    

                返回所有给定 key 的交集

            sunion key1 key2... keyN    

                返回所有给定 key 的并集

            sdiff key1 key2... keyN        

                返回所有给定 key 的差集( 只有 key1 的 没有 key2 的)

            smembers key    

                返回 key 对应 set 的所有元素 结果是无序的

        eg:

        laowen10 朋友圈                        laowen20 朋友圈
                            公共朋友
        laowen 11                            laowen21
        
        laowen 12             laowen01        laowen22
        
        laowen 13            laowen02        laowen23

        // 生成 laowen10 的朋友圈   的 set 集合

        sadd laowen10 laowen11    // OK 表示添加OK

        sadd laowen10 laowen12    // OK 表示添加OK
        
        sadd laowen10 laowen13    // OK 表示添加OK

        sadd laowen10 laowen01    // OK 表示添加OK

        sadd laowen10 laowen02    // OK 表示添加OK

        // 生成 laowen20 的朋友圈   的 set 集合

        sadd laowen20 laowen21    // OK 表示添加OK
        
        sadd laowen20 laowen22    // OK 表示添加OK
        
        sadd laowen20 laowen23    // OK 表示添加OK

        sadd laowen20 laowen01    // OK 表示添加OK

        sadd laowen20 laowen02    // OK 表示添加OK

        // 交集 获取到交集

        sinter laowen10 laowen20

            // 返回交集结果

            // 1) "laowen01"

            // 2) "laowen02"

        // 并集 获取到并集

        sunion laowen10 laowen20

            // 返回并集结果

            // 1) "laowen11"
            
            // 2) "laowen12"
            
            // 3) "laowen13"
            
            // 4) "laowen21"
            
            // 5) "laowen22"
            
            // 6) "laowen23"
            
            // 7) "laowen01"

            // 8) "laowen02"

        // 差集 获取到差集

        sdiff laowen10 laowen20

            // laowen10 与 laowen20 比较 返回只属于 laowen10 的集合

            // 1) "laowen11"
            
            // 2) "laowen12"
            
            // 3) "laowen13"

        sdiff laowen20 laowen10

            // laowen20 与 laowen10 比较 返回只属于 laowen20 的集合

            // 1) "laowen21"
            
            // 2) "laowen22"
            
            // 3) "laowen23"

        // 获取给定元素的集合

        smembers laowen10

            // 获取到 laowen10 的 set 集合

            // 1) "laowen11"
            
            // 2) "laowen12"
            
            // 3) "laowen13"
            
            // 4) "laowen01"
            
            // 5) "laowen02"

        // 判断是否存在在对应的集合中

        sismember laowen10 laowen11

            // (integer) 1  // 说明 laowen11 在 laowen10 的 set 集合中
        
        sismember laowen10 laowen21

            // (integer) 0  // 说明 laowen21 不在 laowen10 的 set 集合中
        
        // 获取到 key 对应的 set 集合中的元素的个数

        scard laowen10

            // (integer) 5  // 说明 有5个元素

        // 移动元素

        smove laowen10 laowen20 laowen11

            // (integer) 1  // 将 laowen10 集合里面的元素 laowen11 移动到 laowen20 集合下

        // 删除元素

        srem laowen20 laowen11

            // (integer) 1  // 将 laowen20 集合里面的元素 laowen11 删除

  • 相关阅读:
    http://blog.csdn.net/jyw935478490/article/details/51233931
    http://www.roncoo.com/article/detail/124661
    http://blog.csdn.net/chenleixing/article/details/43740759
    http://www.xttblog.com/?p=794
    http://jingyan.baidu.com/article/2009576193ee38cb0721b416.html
    Java 生成16/32位 MD5
    AI(Adobe Illustrator)简单入门——骷髅
    AI(Adobe Illustrator)简单入门——米老鼠
    ovirt-engine安装
    service postgresql initdb [FAILED]
  • 原文地址:https://www.cnblogs.com/laowenBlog/p/5444684.html
Copyright © 2020-2023  润新知