失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 04_NoSQL数据库之Redis数据库:set类型和zset类型

04_NoSQL数据库之Redis数据库:set类型和zset类型

时间:2019-08-02 10:13:55

相关推荐

04_NoSQL数据库之Redis数据库:set类型和zset类型



sets类型及操作

Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加,删除和查找复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。

sadd:向集合中添加一个元素,通名称为key的set中添加元素。

通过smembers查看集合中有哪些元素

srem:删除名称为key的set中的元素,删除成功返回1,删除失败返回0

spop:无法指定弹出元素,是随机返回并删除名称为key的set中一个元素。

sdiff:两个集合的差集。

返回所有给定key与第一个key的差集。

sdiffstore:返回所有给定key与第一个key的差集,并将结果存为另一个key.

sdiffstore myset4 myset2 myset3表示的意思是将myset3和myset2的差集存储到myset4里面。

sinter:

返回所有给定key的交集

sinterstore将取出的差集存入到另外的一个集合中。

sunion:表示插入并集。

返回所有给定key的并集。

smove:从第一个key对应的set中移除member并添加到第二个对应的set中。(将第一个集合中的元素剪切下来放入第二个元素中)

将smove myset2 myset7 three表示:myset2中的three元素扔到myset7中

scard返回名称为key的set的元素个数。(看集合中的元素个数)

sismember:测试member是否是名称为key的set的元素。(判断某个元素是否是某个集合中的元素,是返回1,不是返回0)

srandmember:随机返回名称为key的set的一个元素,但不删除元素。

Sorted sets类型及操作

Sortedset是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为由两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。

zadd:向名称为key的zset中添加元素member,score用于排序。如果该元素存在,则更新器顺序。语法:zadd set名称 顺序 值

zrem:删除名称为key的zset中的元素member

zincrby:如果在名称为key的zset中已经存在元素member,则该元素的score增加increment,否则向该集合中添加该元素,其score的值为increment。

zrank:返回名称为key的zset中的member元素的排名。(按score从小到大排序)即下标。(返回的是索引值,和序号值是有差别的)

zrevrank:返回名称为key的zset中member元素的排名。(按score从大到小排序)即下标。

zrevrange:返回名称为key的zset(按score从大到小顺序)中的index从start到end的所有元素。(也就是说是反向排序)

zrangebyscore:找到序号在指定范围内的元素

zcount:返回集合中score在给定区间的数量。

zcard:返回集合中的所有元素的个数

zremrangebyrank:删除集合中排名在给定区间的元素(按照索引来删除)。

zremrangebyscore:删除集合中score在给定区间的元素(表示的是按照顺序删除)。

如果觉得《04_NoSQL数据库之Redis数据库:set类型和zset类型》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。