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

电子商务网站建设课程宁德市住房和城乡建设局

电子商务网站建设课程,宁德市住房和城乡建设局,政府网站内容建设方案,企业网站版面设计技巧目录 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.cadmedia.cn/news/11968.html

相关文章:

  • 免费职业技能培训网站镇江网站建站
  • 响应式网站开发报价百度网址名称是什么
  • 网站制作培训速成班seo文章优化技巧
  • 自己做书画交易网站上海最新新闻热点事件
  • wordpress微店插件seo网络推广专员
  • 下载官方版微信seo站长博客
  • 如何免费网站建设关键词搜索排名优化
  • 药厂网站建设行者seo无敌
  • 人力资源三网站建设网站权重如何查询
  • 做网站公司无锡网络营销成功的原因
  • 郑州免费网站建设厦门seo计费
  • 机械加工工时计算软件seo搜索方法
  • 企业开办网站网站排名推广工具
  • 外贸网站仿牌主机如何让新网站被收录
  • ui页面设计公司青岛seo整站优化招商电话
  • 杭州做档口批发的网站无锡网站优化
  • 淮南市城乡建设档案馆网站怎么制作微信小程序
  • 网络系统的价值跟用户数量的关系碉堡了seo博客
  • 四川住房建设和城乡建设厅网站网站免费seo
  • 江西火电建设公司网站结构优化设计
  • 在线教学视频网站建设百度站长提交网址
  • 维护网站需要多少钱新媒体运营培训学校
  • 中国的网站建设数据分析企业网站推广的方法有
  • 花园休闲平台设计郑州seo外包服务
  • 宁波网站建设招聘网发布新闻的平台有哪些
  • 网络推广企业网站推广策划书中国站长站
  • 苏州建网站的公司一站式服务公司义乌百度广告公司
  • jsp 网站建设百度百度一下官网
  • 用什么做flash游戏下载网站app下载推广
  • 大兴安岭网站建设公司网店代运营一年的费用是多少