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

建设银行长春网站商业论坛网

建设银行长春网站,商业论坛网,h5广告,技术支持 东莞网站建设电脑回收Set 常用命令saddsmemberssismemberscardspopsmovesrem集合间操作sinter 交集sinterstoresunion 并集sunionstoresdiff 差集sdiffstore 命令总结 内部编码应用场景使用 set来保存用户的“标签” set(集合)就是把一些有关联的数据放刀一起。 它与list的区别如下: 集合…

Set

    • 常用命令
      • sadd
      • smembers
      • sismember
      • scard
      • spop
      • smove
      • srem
      • 集合间操作
        • sinter 交集
        • sinterstore
        • sunion 并集
        • sunionstore
        • sdiff 差集
        • sdiffstore
      • 命令总结
    • 内部编码
    • 应用场景
      • 使用 set来保存用户的“标签”

set(集合)就是把一些有关联的数据放刀一起。
它与list的区别如下:

  1. 集合中的元素是无序的!
    这里说的有序是指变换顺序后,就是不同的list,具体大致如下:
    list [1, 2, 3] 和 [2, 1, 3] 是两个不同的list,而set[1, 2, 3] 和[2, 1, 3]是同一个集合
  2. 集合中的元素是不能重复的。

集合中的元素叫做 member。

常用命令

sadd

作用:将⼀个或者多个元素添加到 set 中。注意,重复的元素⽆法添加到 set 中。
语法:SADD key member [member ...]
返回值:本次添加成功的元素个数。

在这里插入图片描述

smembers

作用:获取⼀个 set 中的所有元素,注意,元素间的顺序是⽆序的。
语法:SMEMBERS key

在这里插入图片描述

sismember

作用:判断⼀个元素在不在 set 中。
语法:SISMEMBER key member
返回值:1 表⽰元素在 set 中。0 表⽰元素不在 set 中或者 key 不存在。

在这里插入图片描述

scard

作用:用于获取集合中成员的数量
语法:SCARD key
在这里插入图片描述

spop

作用:从set中随机删除一个或多个 member 并返回一个或多个随机member。
语法:SPOP key [count]

在这里插入图片描述

smove

作用:把member 从 source 上删除,再插入到 destination 中。
语法:
SMOVE source destination member
返回值:1 表⽰移动成功,0 表⽰失败。
在这里插入图片描述
如果此时有个 key2 里面 有 member元素 4了,再从key3中把这个 member元素4 移动 key2时,key3中 4 会被删除,key2中不会新增多一个4。
在这里插入图片描述

srem

作用:将指定的 member 从 set 中删除。
语法:
SREM key member [member ...]
返回值:本次操作删除的元素个数。

在这里插入图片描述

集合间操作

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 ...]
在这里插入图片描述

命令总结

命令时间复杂度
sadd key element [element …]O(k),k是元素个数
srem key element [element …]O(k),k是元素个数
scard keyO(1)
sismember key elementO(1)
srandmember key [count]O(n),n 是 count
spop key [count]O(n),n 是 count
smembers keyO(k), k 是元素个数
sinter key [key …] sitnerstoreO(m * k)
sunion key [key …] sunionstoreO(k),k 是多个集合的元素个数总和
sdiff key [key …] sdiffstoreO(k),k 是多个集合的元素个数总和

内部编码

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

  • intset(整数集合):当集合中的元素都是整数并且元素的个数⼩于 set-max-intset-entries 配置(默认 512 个)时,Redis 会选⽤ intset 来作为集合的内部实现,从⽽减少内存的使⽤。
  • hashtable(哈希表):当集合类型⽆法满⾜ intset 的条件时,Redis 会使⽤ hashtable 作为集合的内部实现。

intset是为了节省空间,做出的特定优化,只有当元素全为整数,并且元素个数不是很多的时候才会被优化菜intset。
在这里插入图片描述

应用场景

使用 set来保存用户的“标签”

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

http://www.yayakq.cn/news/905204/

相关文章:

  • 甘肃省建设厅执业资格注册网站dw做网站环境配置
  • 不用服务器做视频网站吗电信cn2线路
  • 网络营销效果好的网站书籍类wordpress主题
  • 正规的高端网站制作公司山东平台网站建设方案
  • 深圳建站公司兴田德润官网多少制作一个网站需要多少小时
  • 网站设计一个月多少钱汽车网站排行榜前十名
  • 团购网站单页模板wordpress xmlrpc api
  • 网站一直百度上搜不到是怎么回事啊杭州建筑设计公司排名
  • 网站如何快速备案ppt模板免费素材
  • 北京网站优化推广收集wordpress 无边栏 模板
  • 网站建设 推广人员网站制作软件排行榜
  • 创建个人网站多少钱网页美工设计培训学校哪家好
  • 深圳的网站建设公司有哪些网站建设的六个步骤
  • 网站建设系统课程暴雪要倒闭了
  • 网站开发费用算无形资产么和县网站建设
  • 网站网页设计的意义国家开放大学网站的作业怎么做
  • 有没有做网站的博士专业wordpress 教育 主题
  • pc端网站开发总结软件开发全过程
  • 网站开发需要网站备案格式
  • 购买了网站空间如何进入河北沧州市网络公司
  • 重庆网站APP中医诊所引流推广方法
  • 技术支持海安网站建设网站推广书
  • 网站进度条什么是电商?电商怎么做
  • 网站如何做ins链接分享综合购物网站建站
  • 2017自己做网站的趋势重庆app软件制作公司
  • 中英切换的网站咋做统一开发平台
  • 建设一个网站首先需要什么问题企业门户网站开发
  • 手机免费自助建站系统做彩票网站能挣到钱吗?
  • 网站工作沟通及建设win10 wordpress安装教程视频
  • 建设银行甘肃省分行网站缴费点击器