当前位置: 首页 > news >正文

上海网站设计与制作深圳网络营销推广公司

上海网站设计与制作,深圳网络营销推广公司,宿州网络推广公司,一旦开战最危险的城市Set 集合类型介绍 集合类型也是保存多个字符串类型的元素的,但和列表类型不同的是,集合中 1)元素之间是无序的; 2)元素不允许重复; 如图所示。一个集合中最多可以存储 2^32 - 1 个元素。Redis 除了支持集合…

Set 集合类型介绍

集合类型也是保存多个字符串类型的元素的,但和列表类型不同的是,集合中

1)元素之间是无序的;

2)元素不允许重复;

如图所示。一个集合中最多可以存储 2^32 - 1 个元素。Redis 除了支持集合内的增删查改操

作,同时还支持多个集合取交集、并集、差集,合理地使用好集合类型,能在实际开发中解决很多问题。

基本命令

2.1 SADD

将一个或者多个元素添加到 set 中。注意,重复的元素无法添加到 set 中。

语法:

SADD key member [member ...]

返回值:本次添加成功的元素个数。

示例:

SMEMBERS

获取一个 set 中的所有元素,注意,元素间的顺序是无序的。

语法:

SMEMBERS key

返回值:所有元素的列表。

示例:

SISMEMBER

判断一个元素在不在 set 中。

语法:

SISMEMBER key member

返回值:1 表示元素在 set 中。0 表示元素不在 set 中或者 key 不存在。

示例:

SCARD

获取一个 set 的基数(cardinality),即 set 中的元素个数。

语法:

SCARD key

返回值:set 内的元素个数。

示例:

 SPOP

从 set 中删除并返回一个或者多个元素。注意,由于 set 内的元素是无序的,所以取出哪个元素实际是未定义行为,即可以看作随机的。

语法:

SPOP key [count]

返回值:取出的元素。

示例:

SMOVE

将一个元素从源 set 取出并放入目标 set 中。

语法:

SMOVE source destination member

返回值:1 表示移动成功,0 表示失败。

示例:

SREM

将指定的元素从 set 中删除。

语法:

SREM key member [member ...]

返回值:本次操作删除的元素个数。

示例:

集合间操作

交集(inter)、并集(union)、差集(diff)的概念如图

SINTER

获取给定 set 的交集中的元素。

语法:

SINTER key [key ...]

返回值:交集的元素。

示例:

SINTERSTORE

获取给定 set 的交集中的元素并保存到目标 set 中。

语法:

SINTERSTORE destination key [key ...]

返回值:交集的元素个数。

示例:

SUNION

获取给定 set 的并集中的元素。

语法:

SUNION key [key ...]

返回值:并集的元素。

示例:

SUNIONSTORE

获取给定 set 的并集中的元素并保存到目标 set 中。

语法:

SUNIONSTORE destination key [key ...]

返回值:并集的元素个数。

示例:

SDIFF

获取给定 set 的差集中的元素。

语法:

SDIFF key [key ...]

返回值:差集的元素。

示例:

SDIFFSTORE

获取给定 set 的差集中的元素并保存到目标 set 中。

语法:

SDIFFSTORE destination key [key ...]

返回值:差集的元素个数。

示例:

内部编码

集合类型的内部编码有两种:

 1.intset(整数集合):当集合中的元素都是整数并且元素的个数小于 set-max-intset-entries 配置(默认 512 个)时,Redis 会选用 intset 来作为集合的内部实现,从而减少内存的使用。

2.hashtable(哈希表):当集合类型无法满足 intset 的条件时,Redis 会使用 hashtable 作为集合的内部实现。

1)当元素个数较少并且都为整数时,内部编码为 intset:

2)当元素个数超过 512 个,内部编码为 hashtable:

127.0.0.1:6379> sadd setkey 1 2 3 4
(integer) 513
127.0.0.1:6379> object encoding setkey
"hashtable"

3}当存在元素不是整数时,内部编码为 hashtable:

使用场景

信息推荐

集合类型比较典型的使用场景是标签(tag)。例如 A 用户对娱乐、体育板块比较感兴趣,B 用户对历史、新闻比较感兴趣,这些兴趣点可以被抽象为标签。有了这些数据就可以得到喜欢同一个标签的人,以及用户的共同喜好的标签,这些数据对于增强用户体验和用户黏度都非常有帮助。 例如一个电子商务网站会对不同标签的用户做不同的产品推荐。

下面的演示通过集合类型来实现标签的若干功能。

1)给用户添加标签

sadd user:1:tags tag1 tag2 tag5
sadd user:2:tags tag2 tag3 tag5
...
sadd user:k:tags tag1 tag2 tag4

2)给标签添加用户

sadd tag1:users user:1 user:3
sadd tag2:users user:1 user:2 user:3
...
sadd tagk:users user:1 user:4 user:9 user:28

3)删除用户下的标签

srem user:1:tags tag1 tag5
...

4)删除标签下的用户

srem tag1:users user:1
srem tag5:users user:1
...

5)计算用户的共同兴趣标签

sinter user:1:tags user:2:tags

根据个人喜欢刻画用户画像,这个技术很方便,但也存在弊端——造成信息茧房;

统计 UV

set 具有去重机制,一个互联网产品,衡量用户量,用户规模的主要指标,是两方面:

1. PV page view

2. UV user view

用户每次访问该服务器,每次访问都会产生一个 pv,每个用户访问服务器都会产生一个 uv,但是同一个用户多次访问,不会使 uv 增加,uv 需要按照用户进行去重,上述的去重过程,就可以使用 set 来实现。

http://www.dtcms.com/a/447358.html

相关文章:

  • 陕西专业网站开发多少钱微信公众号怎么开通免费
  • 张家港做网站的公司展厅设计培训
  • 网站标题怎么做响应式中文网站模板
  • 巴中建设厅网站电话美篇app怎么制作
  • 衡水网站设计公司哪家专业html简单广告代码
  • 网站开发女生工资手机wap网页
  • 广州建设集团网站黑龙江企业网站设计团队
  • 帝国cms网站地图xmlphotoshopcc
  • 网站建设策划怎么谈深圳广告公司画册设计
  • 做ppt的兼职网站有哪些海外分销平台
  • 微商城网站开发视频小程序注册方法
  • 上海市网站建设公司优秀的h5案例
  • 网站开发实例及研究网站同步到新浪微博
  • 网站建设价格山东济南兴田德润什么活动新增病例最新消息
  • 建设网站都需要哪些资料喀什网站建设百度推广
  • 河东苏州网站建设正能量网站不用下载直接进入
  • wordpress插件途径用仿网站做优化有效果吗
  • 怎么建造个人网站公众号版面设计创意
  • 企业网站备案教程中国外贸论坛
  • 外国网站的浏览器下载适合美工的网站
  • 物联网对企业网站建设的要求品质商城网站建设
  • 做网站什么空间比较好全国私人订制平台
  • 网站建设 媒体广告东莞知名企业排名
  • B树、B+树、B*树深度探索与解析:为什么数据库青睐于它们?
  • 做电子商务网站需要什么手续四川营销型网站建设公司
  • wordpress拉哈尔滨企业网站seo
  • 做网站 毕业设计wordpress重装密码
  • 公司网站设计的公司网站的建设多少钱
  • 【AI4S】基于分子图像与分子描述符的药物筛选预测模型
  • 绍兴网站建设 微德福wordpress优惠券模板