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

补充下上篇文章集合的命令。 上篇地址 博客园蜗牛 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先选择桶,那么自然第一个桶中数据少的话,被取出来的几率也就大大增加。

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

时间: 2024-10-24 14:54:16

Redis命令拾遗四——集合类型(命令补充)的相关文章

nova 命令汇总四 ——计算相关命令

nova 命令汇总四 --计算相关命令 本节叙述一下计算资源相关的命令,重点分为管理计算节点的命令和虚拟机生命周期的管理命令. 管理计算节点的命令: 1. aggregate-add-host 功能: 将计算节点添加到指定的主机集合 用法: nova aggregate-add-host <aggregate> <host> 参数:<aggregate>  聚合的名称或ID:  <host>   添加到指定聚合的主机 2. aggregate-create

使用 redis (sort set排序集合类型操作)

sort set排序集合类型 释义: sort set 是 string 类型的集合 sort set 的每个元素 都会关联一个 权 通过 权值 可以有序的获取集合中的元素 应用场合: 获取热门帖子(回复量)信息: select * from message order by backnum desc limit 5; // 利用 sort set 实现最热门的前 5 贴信息 帖子id            回复量(万条) 11                102        12     

Swift 笔记 (四) —— 集合类型

集合类型 Swift 提供了两种集合类型, Array, Dictionary Array与Dictionary 都须要存同样类型的数据  //实际測试的时候发现能够混杂类型,以下有样例 Array 是有序的, Dictionary 是无序的 Dictionary须要一组无唯一的索引用于查找,也就是key Array 原型: Array<SomeType>, SomeType指的是要放在Array里的数据类型 var myArray: String[] = ["var1",

Redis命令拾遗四(集合类型)—包含简单搜索筛选商品设计实例。

本文版权,归博客园和作者吴双共同所有.转载和爬虫请注明博客园蜗牛Redis系列文章地址 http://www.cnblogs.com/tdws/tag/NoSql/ Redis数据类型之集合(Set). 单个集合中最多允许存储2的三十二次方减1个元素.内部使用hash table散列表实现. SADD Key members.....,向集合中增加多个元素,返回成功个数.另外由于集合中不允许有重复元素,所以当添加重复元素时,会忽略不计,当然也不计影响个数. SMEMBERS Key   获取目标

Redis 的数据类型 - Zset 集合类型:有序集合

ZADD:将元素及其分数添加到集合中 语法:ZADD key courseScore member [courseScore member] ZADD courseScore 100 tom ZADD courseScore 99 jerry 88 mario 77 jack 66 lucy 55 chris ZADD courseScore 60 tom 67 apple 56 cherry #这里 tom 已经存在了,直接略过不执行,返回值为 2 # ZADD courseScore 12.

Redis ---------- Sort Set排序集合类型

sortset是(list)和(set)的集中体现 与set的相同点: string类型元素的集合 不同点: sortset的元素:值+权 适合场合 获得最热门前5个帖子的信息 例如 select *from message order by backnum desc limit 5; 11 102 12  141 13 159 14 72 15 203 16  189 17 189 18  395 19 184 原文地址:https://www.cnblogs.com/zhouxingzhi/

第三课补充01——set类型 sorted类型命令操作详解,redis管道及事务

1. set类型的命令操作: (1)sadd命令:向key指定的set集合添加成员 ##sadd命令:是设置set集合类型的数据,sadd  <key> <mumber> [<mumber>] ##<key>不存在的时候,sadd命令创建key并向集合添加成员: ##注意,成员之间空格分隔,如果用逗号,则表示是同一个成员 ##set集合里,member是不重复的 (2)smove命令:是原子操作,将指定的member从source移动到desitinatio

Redis常用命令入门4:集合类型

集合类型 之前我们已经介绍过了最基本的字符串类型.散列类型.列表类型,下面我们一起学习一下集合类型. 集合类型也是体现redis一个比较高价值的一个类型了.因为Redis的集合类型,所以我们可以很容易的在Redis中执行差集运算.交集运算.并集运算. 首先我们先介绍一下集合类型和列表类型的区别,其实学过面向对象的语言的同学应该都能猜到这些类型有什么不同. ①集合类型和列表类型还是都能存储2^32-1个字符串 ②集合类型是无序的,列表类型是有序的 ③集合类型是唯一的,列表类型的值是不唯一的 下面我

Redis常用命令(四)数据库管理、键管理、订阅发布

### 数据库管理 keys pattern  # 查找键,参数通配符查找 keys *  # 查看所有键 keys n*  # 查看以n开头的所有键 keys *e  # 查看以e结尾的所有键 keys h?llo keys h[ae]llo exists name  # 查看name这个键是否存在,存在为1,不存在为0 type key  # 查看键对应的value的类型 type name del key1 key2 ...  # 删除键及对应的值 del addr rename key