您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页Redis集合类型及应用

Redis集合类型及应用

来源:二三娱乐

集合类型中的每个元素都是不同的,且没有顺序。一个集合类型键可以存储2的32次方 - 1个字符串,可以进行多个集合之间的并集,交集,差集运算

命令

添加/删除元素,返回集合中所有元素

判断元素是否存在集合中

集合运算

sdiff差集,sinter交集,sunion并集

获取集合中元素个数

从集合中弹出一个元素

因为集合是无序的,所有会随机弹出一个元素

应用

1.存储文章标签

对于一些文章,可能对应多个标签,比如一篇关于laravel的文章,相关标签可能有PHP, Laravel,Blog等,而且这些标签也可以根据需求,单独添加,删除或修改,那么标签就不合适与文章标题,作者,正文等数据一起存储散列类型中了,可以存在集合中。通过文章ID作为键名保存在集合中

还可以应用记录相关的功能,比如投票系统,每个用户每天只能投一票

2.通过标签搜索文章

还有一种场景就是,一个web网站中,需要通过标签分类获取该标签中所有的文章的时候,如果用关系型数据库来实现的话,需要文章,标签,文章-标签关系表三表联查来获取,而用集合的话,只需要用标签作为键名,保存文章ID集合,如果所有某单个标签的所有文章,只需要用smembers tag:redis:posts  就可以获取redis标签对应的所有文章ID,如果要获取同时属于mysql,redis,php三个标签的文章,只需要求这三个标签键的交集即可。但是这么做,通过会有一个小问题,就是如果这是这么做实现按标签分类显示文章,如果有需求安装文章的发布或更新的最新事件倒排显示的话,是不能满足的。在后续的文章中,分享排序问题。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务