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

redis5--set的操作的更多相关文章

  1. 从阿里云迁移分布式redis实例到华为云解决方案(详细)

    如果要换多数是经济因素啦- 一. 准备工作 先在华为云上买一台redis数据库,配置一定要注意多数要保持一致,至于4.0还是5.0倒问题不大亲测兼容 可用区要找现有ECS云主机中的相同的机器.记下:这 ...

  2. redis5.0.4-cluster集群搭建及jedis客户端操作

    一.去官网下载redis5.0 https://redis.io/download 然后解压安装 $ .tar.gz $ cd redis- $ make 二.准备配置文件 打开redis-5.0.4 ...

  3. 基于.NetCore的Redis5.0.3(最新版)快速入门、源码解析、集群搭建与SDK使用【原创】

    1.[基础]redis能带给我们什么福利 Redis(Remote Dictionary Server)官网:https://redis.io/ Redis命令:https://redis.io/co ...

  4. 多机部署redis5.0集群环境

    redis5.0集群部署 一.集群介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redi ...

  5. redis5.0.4 集群搭建

    准备工作用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-5.0.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS ...

  6. redis-5.0.3集群搭建

    首先部署redis-5.0.3,请参考我的另一篇文章 https://www.cnblogs.com/djlsunshine/p/10592174.html 启动redis服务 # redis-ser ...

  7. Redis-5.0.0集群配置

    版本:redis-5.0.0 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...

  8. 2018.4.26 Mac安装Redis5.0.3版本服务器

    Mac安装Redis服务器 安装 1.到官网下载 选择稳定版本 打开官网:https://redis.io/ 2.下载完成后,打开命令行工具,执行解压命令 tar zxvf redis-5.0.3.t ...

  9. redis5.0主从配置

    1.下载 wget http://download.redis.io/releases/redis-5.0.3.tar.gz .tar.gz cd redis- make make test //检查 ...

  10. Redis5.0:在这些场景使用,高效率还低成本!

    很多大型电商网站.视频直播和游戏应用等,存在大规模数据访问,对数据查询效率要求高,且数据结构简单,不涉及太多关联查询. 这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁 ...

随机推荐

  1. Qt中的串口编程之三

    QtSerialPort 今天我们来介绍一下QtSerialPort模块的源代码,学习一下该可移植的串口编程库是怎么实现的. 首先,我们下载好了源代码之后,使用QtCreator打开整个工程,可以看到 ...

  2. DEV gridcontrol 设置行数据超宽换行

    第一 在main > columns 的 某个gridcolumn下的 columnEdit为新建为 repositoryitemmemoedit 第二 repositor下的optionvie ...

  3. 使用EasyMock对Servlet进行简单的测试

    这是一个WebProject,但不需配置web.xml,因为EasyMock用不上它 首先是用到的实体类User.java package com.jadyer.model; public class ...

  4. android 豆瓣客户端 视频

    链接如下:http://download.csdn.net/detail/jltxgcy/5667337

  5. dll导出命名空间下的c风格函数陷阱

    1.编译阶段,如果不是重载,那么C风格的同名函数与C++风格的同名函数,就会报编译错误.error C2084: function 'int Test(void)' already has a bod ...

  6. .Net程序员学用Oracle系列(9):系统函数(上)

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.字符函数 1.1.字符函数简介 1.2.语法说明及案例 2.数字函数 2.1.数字函数简介 2.2.语法说明及案例 3.日期 ...

  7. Cordova环境搭建与hello word

    一.环境下载 1.下载并安装Node.js 安装一路下一步即可 2.下载并安装Git 安装一路下一步即可 3.配置Android开发平台环境 (1)下载JDK (2)下载AndroidSDK (3)下 ...

  8. NG2入门 - 根模块

    根模块 app.module 建议大家先去学习angularjs官网的英雄教程后再进行后面的阅读,app.module.ts 就是ng2应用中的引导启动模块也称根模块 import { NgModul ...

  9. dirty cow exp

    公司搞底层的改了一下,说做到了几个不死机 /* * (un)comment correct payload first (x86 or x64)! * * $ gcc cowroot.c -o cow ...

  10. 啥数据类型set补充、深浅拷贝与函数

    #s1 = {1,2,3,1} """ s2 = ([2,5,6]) print(s1) s1.add(5) #添加元素"5" print(s1) s ...