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

缤纷网站免费做服装深圳seo优化服务

缤纷网站免费做服装,深圳seo优化服务,招聘网站开发实训报告,免费建站网站一级大录像不卡在线看网页目录 set命令 sadd smembers sismember spop srandmember smove srem 集合间操作 sinter sinterstore sunion sunionstore sdiff 命令总结 内部编码 set是集合的意思,集合就是把一些有关的数据放到一起。 集合有以下这样的特性: 1、集…

目录

set命令

sadd

smembers

sismember

spop

srandmember

smove

srem

集合间操作

sinter

sinterstore

sunion

sunionstore

sdiff

命令总结 

内部编码


set是集合的意思,集合就是把一些有关的数据放到一起。

集合有以下这样的特性:

1、集合中的元素是无序的,顺序交换一下还是同一个集合

2、集合中的元素是不能重复的(唯一的)

3、和list类似,集合中存储的元素都是string类型,可以使用json这样的格式存储结构化数据

set命令

sadd

往集合里面添加一个或者多个元素。

语法:

sadd key member[member ...]

我们把集合中的元素叫做member 。

返回值是成功添加了几个元素。

由于set是不能存储相同元素的,因此不能保证添加的元素就能被成功添加。

我们已经添加了1、2、3、4,再次添加就会返回0,一个都没有被成功添加,因为它们都重复了。

smembers

获取到集合中的所有元素,元素间的顺序是无所谓的。

语法:

smembers key

1、2、3、4就出来了。

sismember

判断元素是否在集合中。  

语法:

sismember key member 

spop

从"末尾"删除一个元素,集合中的元素是无序的,此时那个元素是"末尾"?使用spop删除元素的时候其实是随机删除。

语法:

spop key [count]

count不写的时候就随机删一个,写了的话就随机删除count个。

我们可以看到删除的顺序并不是我们添加的顺序。

返回值:删除的元素

srandmember

随机获取一个元素,并不会删除。

语法:

srandmember key

smove

将一个元素从源set中取出存到目的set中。大白话就是从一个set删除,在插入到另外一个set

语法:

smove source destination member

我们创建两个集合key1和key2,key1里面添加1、2、3、4元素,key2添加5、6、7、8元素,然后使用smove操作将key1里面的1删除插入到key2中。

如果此时我们在往key1里面插入一个1,再把1删除插入到key2中会发生什么呢?

此时并不会发生报错,此时会把源set中的member删除,目的set保持不变。

如果源set中就没有member,此时使用smove会怎么样?

key1中没有9,自然就会返回0,表示失败。

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

srem

删除元素,可以一次删除一个元素,也可以一次删除多个元素。

语法:

srem key member [member...]

 

返回值:删除成功的元素个数

集合间操作

既然是集合,肯定要有求交集、并集、差集的操作吧。

交集:最终结果同时出现在两个集合。

比如现在有集合A:1、2、3、4,集合B:3、4、5、6。A和B的交集就是3、4.

并集:把多个集合中的数据都集中放在一起,如果元素有重复,最终只保留一份。

还是拿上面的集合A、B来看,A和B的并集是1、2、3、4、5、6。

差集:A和B做差集就是,找出那些在A中存在,在B中不存在的元素。

A和B的差集就是1、2。

交集和并集是符合交换律的,但是差集就不同了A和B的差集和B和A的差集是不同的。

sinter

求交集。

语法:

sinter key [key...]

此处每个key都对应一个集合,返回值就是最终交集的数据。

时间复杂度是O(N * M),N是最小的集合元素个数,M是最大的集合元素个数。

sinterstore

这个命令同样也是求交集的。

语法:

sinterstore destination key [key ...] 

该命令是直接把算好的交集,放到destination中了 。

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

要想知道交集的内容,直接smembers destination即可。

sunion

求并集。

语法:

sunion key [key...]

 返回的是并集的结果数据。

时间复杂度:O(N),N是所有元素加在一起。

sunionstore

它和sinter一样,也提供了一个存储版本,直接把并集的结果存储到destination对应的集合中。

语法:

sunionstore destination key [key ...]

返回值:并集的元素个数

时间复杂度:O(N)

sdiff

求差集。

语法:

sdiff key [key...]

返回值:差集的结果。

时间复杂度:O(N),给定集合的总个数。

sdiffstore

将差集结果保存到key中。

语法:

sdiffstore destination [key ...]

返回值:差集的元素个数

下面可以看到key1和key2求差集和key2和key1求差集是不同的。

命令总结 

命令功能
sadd key element [element...]添加元素
srem key element [element...]删除元素
sismember key element 判断元素是否在集合中
srandmember key [count]随机返回一个元素
scard key(太简单就没演示)返回集合长度
spop key [count]尾删
smembers key获取集合所有元素
sinter key [key...] sinterstore求交集
sunion key [key...] sunionstore求并集
sdiff key [key ...] sdiffstore求差集

内部编码

intset(整数集合):为了节省空间做出的特定优化,当元素均为整数,并且元素个数不是很多的时候。

hashtable(哈希表)

key是整数的时候用的是intset,当我们插入了一个字符串后,就变成哈希表了。

http://www.dtcms.com/wzjs/62528.html

相关文章:

  • 腾讯企点有风险吗西安seo网站建设
  • 京东商城网上购物登录快速优化seo
  • 网站毕业设计选题做网站推广公司
  • 大型网站系统与java中间件实践 pdf国外直播平台tiktok
  • 用vs2010做免费网站模板下载地址百度科技有限公司
  • 网站建设属于什么行业谷歌seo服务商
  • 系统和网站哪个简单一点网站建设在线建站
  • 珠海做网站公司哪家好电商运营公司
  • 做网站如何来钱百度精准营销获客平台
  • 免费网页搭建seo规则
  • 网站建设的策划百度seo 优化
  • 怎么做网站frontpage怎么登录百度app
  • 网站如何防止攻击关键词首页排名优化价格
  • 网站通知做文献的格式网站百度推广
  • seo顾问达人山西seo排名
  • 移动网站开发 公众号杭州网络推广有限公司
  • 南京浦口做网站百度广告投诉电话客服24小时
  • 网站开发职位免费发布平台
  • 云南企业建站google关键词工具
  • 韶关市住房和城乡建设管理局网站网站设计服务企业
  • 网站建设管理成本估计郑州seo公司
  • 徐州网站营销河南百度关键词优化排名软件
  • 白云商城网站建设营销模式方案
  • wordpress网站如何播放视频成人本科报考官网
  • 石材网站建设多少钱站长工具海角
  • 兰州网页制作公司网站济南做seo的公司排名
  • 安徽省建设质量安全协会网站营销策划公司简介
  • 工作室推广网站澳门seo推广
  • 青羊网站建设广州白云区今天的消息
  • wordpress q8hpk网站推广优化技巧