首页 > 其他 > 详细

Redis命令拾遗四——集合类型(命令补充)

时间:2016-08-20 01:21:11      阅读:244      评论:0      收藏:0      [点我收藏+]

补充下上篇文章集合的命令。 上篇地址 博客园蜗牛 http://www.cnblogs.com/tdws/p/5785939.html 

SCARD Key获得执行集合中元素的数量。

技术分享

SDIFFSTORE 目标键 keys ...  将集合做DIFF差集操作,并存储在目标键中。

另外同样有SINTERSTORE,SUNIONSTORE.对于集合还不了解的童鞋,请看上篇文章。

技术分享

最后一个要介绍的命令就是SRANDMEMBER Key。从目标键中取随机一个元素。他是很有趣的。

目前SetA中有十个元素,当你指定的返回数量为正数,返回相应数量的随机数,如果大于集合数量,那么将集合全部元素返回。

但是如果你指定为负数,则会返回|负数|个,也就是说你指定-100,那么即使你只有十个元素,也会给你取出一百个元素。

技术分享

技术分享

技术分享

另外我们可以看到上三张结果图,实际上,有时候也并不是那么随机,第一张和第三张图9的次数明显多,第二张图1的次数明显多。这是由于集合的存储结构——散列表造成的。其散列函数为了实现O(1)复杂度,会将元素映射到不同的“桶”当中,比如元素9被存到第一个桶当中,那么下一次进行随机数选择时,Redis先选择桶,那么自然第一个桶中数据少的话,被取出来的几率也就大大增加。

有关散列函数,拉链法解决冲突请看百度百科链接

 

Redis命令拾遗四——集合类型(命令补充)

原文:http://www.cnblogs.com/tdws/p/5789440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!