redis sets类型及操作
sets类型及操作
set是集合,它是string类型的无序集合。通过hash table实现,添加、删除、查找的复杂度都是0(1)。对集合我们可以实现取交际、差集并集。通过这些操作我们可以实现SNS中的好友推荐和blog的tag(标签)功能
sadd
向集合中添加元素,成功返回1,失败返回0,重复值添加为失败
例如:
sadd myset1 hello
smembers
查看集合中的元素
例如:
smembers myset1
scard
查看集合中的元素个数
例如:
scard myset1
sismember
测试元素在不在集合中,存在返回1,不存在返回0
例如:
sismember myset1 two
srem
删除集合中的元素,成功返回1,失败返回0
例如:
srem myset1 hello
spop
随机从集合中弹出一个元素,并删除,返回弹出元素的值
例如:
spop myset1
sdiff
返回第一个集合在第二个集合中的差集部分
例如:
myset1 中有 three two
myset2 中有 two one
sdiff myset1 myset2 //不会返回 three one 只会返回 three
sdiffstore
返回第一个集合在第二个集合中的差集部分,并将结果保存到另一个集合中
例如:
sdiffstore myset4 myset2 myset3 //把myset2在myset3中的差集保存在myset4中
sinter
返回所有集合的交集
例如:
sinter myset1 myset2
sinterstore
返回所有集合的交集,并保存,用法同sdiffstore
sunion
返回所有集合的并集
例如:
sunion myset1 myset2
sunionstore
返回所有集合的并集,并保存,用法同sdiffstore
smove
把第一个集合中的指定元素,移动到第二个集合
例如:
smove myset2 myset1 three
srandmember
随机返回集合中的一个元素,不删除元素
sorted sets
是对set的一个升级版本,它在set的基础上增加了一个顺序属性,这个属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。
zadd
向集合中添加元素,member,score用于排序,如果该元素存在,则更新其顺序
例如:
zadd myzset1 1 one
zrange
查看zset集合中的元素
例如:
zrange myzset1 0 -1 withscores //withscores 输出顺序号,不是必须
zrem
删除值为指定的元素
例如:
zrem myset1 two
zincrby
向集合中添加元素,如果元素已经存在,则该元素的score增加increment的值,否则向该集合中添加该元素,其score的值为increment
例如:
zincrby myzset1 2 four
zrank
返回集合中元素的排名,按score从小到大的顺序,即下标,和数组一样从0开始
例如:
zrank myzset1 four
zrevrank
和zrank一样,不同是从大到小排序
zrevrange
返回集合中的结果,降序排序
例如:
zrevrange myzset1 0 -1 withscores
zrangebyscore
返回指定返回的元素
例如
zrangebyscore myzset1 2 3 withscores
zcount
返回集合中score在给定区间的元素的数量
例如:
zcount myzset1 2 4
zremrangebyrank
删除集合中指定索引范围内的元素
例如:
zremrangebyrank myzset1 1 3
zremrangebyscore
删除集合中指定score范围内的元素
例如:
zremrangebyscore myzset1 1 2
redis sets类型及操作的更多相关文章
- redis数据类型:sorted sets类型及操作
sorted sets类型及操作: sorted set是set的一个升级版本,它是在set的基础上增加了一个顺序 属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会 自动重新按新的值 ...
- Redis学习第二课:Redis String类型及操作
Strings类型 String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象. Strings类型的操作: Set:设置 ...
- 四:redis的sets类型 - 相关操作(有序和无序集合)
================四十五种(有序和无序集合):sets种类(它是一个集)============= 简介: set它代表的集合.加入是随意添加----->无序集合 ...
- Redis hash 类型及操作
原文:http://blog.sina.com.cn/s/blog_5f044a4d0102v01k.html Redis hash是一个string类型的field和value的映射表.它的添加.删 ...
- Redis学习第四课:Redis List类型及操作
list是一个链表结构,主要功能是push.pop.获取一个范围的所有值等,操作中key理解为链表的名字. Redis的list类型其实就是一个每个子元素都是string类型的双向链表.我们可以通过p ...
- Redis学习第三课:Redis Hash类型及操作
Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适用于存储对象.相较于对象的每个字段存在单个string类型.将一个对象 ...
- Redis string类型常用操作
Redis 有 string.list.set.zset.hash数据类型.string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习re ...
- Redis学习第五课:Redis Set类型及操作
Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是O(1). 对集合我们可以取并集.交集.差集.通过这些操作我们可以实现SNS中的好友推 ...
- Redis字符串类型的操作
set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000 , 9秒有效 注: 如果ex ...
随机推荐
- JAVA和C++区别
1.指针 JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃.但也不是说JAVA没有指针,虚拟机 ...
- uboot1.1.6之NOR FLASH 出现的问题解决方法
U-BOOT移植,structure has no member named `CAMDIVN speed.c: In function `get_HCLK':speed.c:114: error: ...
- 强制删除sql用户链接
SELECT 'alter system kill session '''||sid||','||serial#||''';' FROM v$session WHERE username='USER' ...
- AD进行行PCB DRC检查时,软件提示...report_drc.xsl不存在
之前装过一次AD软件没有报过这样的错误,卸掉后重新装了之后,在对电气规则检查检查时“软件提示...report_drc.xsl不存在”. 原因:之前装的目录默认在C盘下,所以AD软件输出的报告也是默认 ...
- 一个action读取另一个action里的session
action 1: private Map session; session.put("projectname_session", request1.getParameter(&q ...
- js中焦点的含义是什么
焦点即是光标 焦点是在页面上屏幕中闪动的的小竖线,鼠标点击可获得光标,Tab键可按照设置的Tabindex切换焦点
- Codeforces#373 Div2
Ranting重新回到浅蓝的一场比赛 Problem A 题意:月亮的大小是按照这样的顺序排列的0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ...
- astah* professional 6.9.0
下载地址:http://members.change-vision.com/files/astah_professional/6_9_0 破解方法:按照Astah Professional 6.9后打 ...
- ibatis一对多 数据库设计及实现
iBatis的多表关联. ibatis的表关联,和数据库语句无关,是在Java程序中,把若干语句的结果关联到一起.这种关联形式,虽然在大数据量时是很奢侈的行为,但是看起来很干净,用起来也很方便. 这里 ...
- Python正则表达式学习笔记
[] 字符类,只要匹配里面的任意字符,都算匹配 . 元字符,可以匹配除换行符之外的所有字符 大小写敏感,但是可以关闭 \d 可以匹配0-9中的任意数字 {3}大括号里面的数字,边上前面一个字符匹配的 ...