zoukankan      html  css  js  c++  java
  • redis5--set的操作

    Set集合类型
    (1)介绍
    redis的set是string类型的无序集合
    set元素最大可以包含(2的32次方-1)个元素
    关于set集合类型除了基本的添加删除操作,其它有用的操作还包含集合的取并集(union),
    交集(intersection),差集(difference)。通过这些操作可以很容易的实现类似好友推荐的
    功能。

    注意:每个集合中的各个元素不能重复。

    (2)操作
    sadd key number           添加一个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的差集 
    smembers key              返回key对应set的所有元素,结果是无序的


    (3)使用
    我们模拟qq好友推荐的功能:


    首先我们添加tom的好友,创建tomFri的set集合类型数据,内部有五个元素


    然后创建linken的好友,创建linkenFri的set集合类型数据,内部有五个元素


    取两个set集合的交集,就可以得出两个用户的共同好友:


    取并集就是取得既有tom又有linken的好友,相同的数据会出现一次


    取差集,并不是是除了交集数据之外的所有数据,而是sdiff key1 key2中,
    只取得key1集合中没有key2的所有数据。


    想查看set集合的所有内容,使用smembers指令


    判断一个元素是否在集合中,使用sismember指令


    将tom中的jack转移到linken的好友集合中,使用smove指令,查看set集合
    目前的容量,使用scard指令


    将xiaoming从tom的好友集合中清除,使用srem指令

    转载请注明出处:http://blog.csdn.net/acmman/article/details/53289980

  • 相关阅读:
    asp.net 邮件发送,使用外部stmp服务器,呵呵!简单例子
    asp.net 新闻采集 简单示例
    JS 计算时间差
    textarea行尾输入多个空格不换行
    mac系统安装redis
    RSA 分段加解密【解决“不正确的长度”的异常】
    C# 获取指定进程的主窗口句柄
    .Net自定义控件之ToolboxBitmap元数据的设置
    提升 SharePoint 代码执行权限
    关于ThreadLocal的使用
  • 原文地址:https://www.cnblogs.com/gaochsh/p/6288130.html
Copyright © 2011-2022 走看看