redis数据类型 - set类型
来源:互联网 发布:优化的条件 英文 编辑:程序博客网 时间:2024/04/29 14:49
set 是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作,操作中key 理解为集合的名字。值不能重复。
Redis 的set 是string 类型的无序集合。
set 元素最大可以包含(2的 32次方)个元素。
关于 set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection),差集(difference)通过这些操作可以很容易的实现sns 中的好友推荐和blog 的tag 功能。
sadd 向名称为key的set中添加元素:
sadd myset1 asadd myset1 bsadd myset1 a#添加失败,已存在smembers 查看集合:
smembers myset1srem 删除名称为key的set中的元素member:
srem myset1 bspop 随机返回并删除名称为key的set中的一个元素(用来抽奖很方便)
sdiff 差集:
sdiff myset2 myset3
sdiffstore 返回差集,并将结果存为另一个 key sadd myset5 1
sadd myset5 2
sadd myset5 4
sadd myset6 2
sadd myset6 3
sdiffstore newset myset5 myset6
将只存在于 myset5,不在 myset6 中的成员,另存为 newset 中
如果已存在 newset,则先清空 newset smembers newset
结果是:
1) "1"
2) "4"
sinter 交集
sadd myset5 1
sadd myset5 2
sadd myset5 4
sadd myset6 2
sadd myset6 3
sinter myset5 myset6
返回 2
sinterstore 返回所有给定 key 的交集,并将结果存为另一个 key sinterstore newset myset5 myset6
smembers newset
结果:
1) "2"
sunion 并集
sunion myset5 myset6
sunionstore 返回所有给定 key 的并集,并将结果存为另一个 key
sunionstore newset myset5 myset6
查看结果 myset5 myset6 的并集被保存到 newset 中
smembers newset
smove移动
sadd myset7 a
sadd myset7 b
smove myset7 myset8 a#将set7中的a ,移到myset8中
smembers myset7
smembers myset8
scard 返回名 set 集合的元素个数
scard myset5
sismember is member测试元素是否在某一个 set 集合中 sadd myset9 a
sadd myset9 b
sismember myset9 b
sismember myset9 c
srandmember 随机返回一个名称为key的set 的一个元素,但是不删除元素
srandmember myset9
--------------------------------------------
sorted set
--------------------------------------------
sorted set 是 set 的一个升级版本,它在 set 的基础上增加了一个顺序属性, 这一属性在添加修改元素的时候可以指定,每次指定后,
zset 会自动重新按新的值调整顺序。
和 set 一样 sorted set 也是 string 类型元素的集合, 不同的是每个元素都会关联一个 double 类型的 score
- redis数据类型 - set类型
- Redis数据类型之SET类型
- 04Redis数据类型之Set类型及Zset 类型
- Redis的数据类型及操作(三):set类型
- redis--set数据类型
- redis数据类型之set
- Redis数据类型-Set
- Redis数据类型--SET
- Redis数据类型(Set)
- Redis---set数据类型操作
- redis的数据类型-set
- Redis数据类型之Set
- redis中的set类型
- Redis学习--Set类型
- redis 之set类型
- redis-set类型操作
- redis数据类型 - Hash类型
- redis数据类型 - list类型
- Ubuntu 14.04/14.10下安装VMware Workstation 11图文教程
- android图片轮播第一弹_异步获取和本地获取图片_轻量级可集成到项目中型
- 求助!~~
- 真正的爱情,是他为你改变自我,是妥协和容忍
- 贝叶斯分类器,最小二乘
- redis数据类型 - set类型
- scala 数组Array排序,转换字符串,过滤 quickSort,mkString,yield,filter,map
- plsql 导入excel文件和txt文件
- vc++加载透明png图片方法——GDI+和CImage两种
- 自绘贴图-MFC方式
- SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解
- Masonry框架
- 怎样运用EDIUS中的色彩平衡滤镜较色
- ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别