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

做推广比较好的网站推广优化方案

做推广比较好的网站,推广优化方案,完美政府网站(cms)管理系统,知名网站排行榜只有克服了情感的波动,才能专心致志地追求事业的成功 目录 列表 list命令 lpush lpushx rpush rpushx lrange lpop rpop lindex linsert llen lrem ltrim 阻塞命令 小结 列表 列表相当于 数组或者顺序表。 列表类型是用来存储多个有序的字符串&…

只有克服了情感的波动,才能专心致志地追求事业的成功


目录

列表

list命令

lpush

lpushx

rpush

rpushx

lrange

lpop

rpop

lindex

 linsert

llen

lrem 

ltrim

阻塞命令

小结


列表

        列表相当于 数组或者顺序表。

        列表类型是用来存储多个有序的字符串,如图 2-19 所示,a、b、c、d、e 五个元素从左到右组成了一个有序的列表,列表中的每个字符串称为元素(element),一个列表最多可以存储 个元
素。在 Redis 中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。列表是一种比较灵活的数据结构,它可以充当栈和队列的角色,在实际开发上有很多应用场景。

        注意,它内部的编码方式并非是一个简单的数组,而是更接近于“双端队列”。可以做到比较高效的头插头删,尾插尾删。

        当然也特供了许多的获取和删除的操作:

        列表类型的特点:

  • 列表中的元素是有序的,这意味着可以通过索引下标获取某个元素或者某个范围的元素列表,
    例如要获取上图图的第 5 个元素,可以执行 lindex user:1:messages 4 或者倒数第 1 个元素,lindex user:1:messages -1 就可以得到元素 e。
  • 区分获取和删除的区别,例如上图 中的 lrem 1 b 是从列表中把从左数遇到的前 1 个 b 元素删除,这个操作会导致列表的长度从 5 变成 4;但是执行 lindex 4 只会获取元素,但列表长度是不会变化的。
  • 列表中的元素是允许重复的,例如上图中的列表中是包含了两个 a 元素的。但是像hash这样的结构中的field是不能重复的,如果重复hset,就会覆盖原来的field。

  • 列表的元素是有序的,如果把元素的位置颠倒,顺序调换,此时得到的list就和原来的list不等价。

下面是关于list的一些命令。

list命令


        下面的lpush中第一个字母其实是left,也就是left push,rpush就是right push。 

lpush

        将一个或者多个元素从左侧插入队列中。

语法:lpush  key  element  [ element ..... ] 

  • 时间复杂度O(1)或者O(N),只插入一个元素为 O(1), 插入多个元素为 O(N), N 为插入元素个数。
  • 多个element之间使用空格间隔。
  • 返回值:list的长度,例如插入了1,2,3这三个数字,那么返回值就是3。
  • 如果key已经存在,并且key对应的value类型,不是list,此时lpush就会报错。

示例: 


lpushx

        在 key 存在时,将一个或者多个元素从左侧放入(头插)到 list 中。不存在,直接返回,他类似于setnx。

语法:LPUSHX key element [element ...]

  • 时间复杂度:只插入一个元素为 O(1), 插入多个元素为 O(N), N 为插入元素个数.
  • 返回值:插入后 list 的长度。
  • 多个elem之间使用空格间隔

示例

        注意,这里的lpushx的key一定是已经存在的key,如果key不存在返回0。


rpush

        类似于lpush,只不过rpush是从最右侧插入,相当于尾插

rpushx

        在 key 存在时,将一个或者多个元素从右侧放入(尾插)到 list 中

        上面两个命令的用法和lpush与lpushx完全一致,这里不做过多的解释。


        除了设置list,我总得能查看里面的数据吧?别急当然有法子!

lrange

        获取从 start 到 end 区间的所有元素,左闭右闭。

语法:LRANGE key start stop

  • 时间复杂度:O(N)
  • 返回值:指定区间的元素。

示例

        首先创建一个list:

        根据我们在前言列表中提到的下标进行实验:

        获取除了“1”之外的值:

        最简便的获取所有元素的方法,那就是0 -> -1:

        因为-1代表最后一个元素。


lpop

        从list左侧取出数据,这个操作会直接降价左侧的第一个数据删除并作为返回值返回

语法:lpop key

  • 时间复杂度:O(1)
  • 返回值为取出的元素或者nil。

示例

rpop

        从尾部删除,然后返回被删除的数据。

语法:同lpop

示例:

        同lpop


lindex

        获取从左数第index位置的元素。此处的lindex中的l可以理解为list index,而不是left

语法:lindex key index

  • 时间复杂度:O(N),n是指的list中的元素个数。
  • 返回值:对应下标的元素。下标非法则返回nil

示例:

        将这个list,使用lindex,获取其值。

 linsert

        在特定位置插入元素。你可以选择从左侧插入,也可以从右侧插入,你可以选择自己想要的,但是你只能选择其中一种。

语法:linsert  key  <before | after>  pivot  element

  • key 是你要插入的list
  • before和after表明你要插入的时候在元素的前面还是后面
  • pivot表示你要插入的基准元素(并非是元素,而是真实值)
  • element是你要插入的元素
  • 时间复杂度为:O(N)
  • 返回值:插入后的list长度。

示例

        这就出现一个问题,一个相同的元素在list中是可以同时存在多份的:

        所以list的linsert的基准是通过:

linsert 进行插入的时候,要根据基准值,找到对应的位置从左往右,找到第一个符合基准值的位置即可。


llen

        获取list的长度。llen中的第一个l为list,也就是list length的意思。

语法:llen key

  • 时间复杂度:O(1)
  • 返回值:list 的长度,也就是list中包含的元素个数。 

示例:

redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LLEN mylist
(integer) 2 


lrem 

        list remove, 

语法:lrem key count element 

  • count删除的个数。
  • element 是要删除的值。 
  • 时间复杂度:O(N + M),N是list的长度,M是删除元素的个数。
  • 如果count > 0意思是从左往右数第一个element开始,从左往右依次删除count个。
  • 如果count < 0意思是从右往左数第一个element开始,从右往左依次删除count个。
  • 如果count = 0, 删除所有的值为element的元素。

示例:

        删除右边两个1:

        删除:

ltrim

        保留start和stop区间的元素。区间外的元素就被删除了。

语法:ltrim  key  start  stop

  • start是开始的下标
  • stop是结束的下标
  • 此操作包含start和stop下标的元素,也就是说start和stop下标的元素会被保留。
  • 时间复杂度O(N),N为删除的元素的个数。

示例

lset

        根据下标修改元素,可以类比lindex,lindex是根据下标获取元素,而lset则是根据下标修改元素,lset全称list set。

语法:lset  key index newValue。

  • 时间复杂度O(N)。
  • 如果index越界的话会提示:index out of  range。

示例

        设置list:1 2 3 4, 然后修改下标为0的元素的值为5:

阻塞命令

        什么叫阻塞命令?阻塞: 当前的线程,不走了,代码不继续执行了。会在满足一定的条件之后,被唤醒。

        关于阻塞的两个命令:

  • brpop
  • blpop

        这个l为left的意思,b则为block的意思,意思为阻塞。咱们redis中的list就相当于一个阻塞队列,线程安全的问题,redis是靠单线程模型去提供支持的。而阻塞只支持队列为空的情况,不考虑队列满。阻塞版本会根据timeout,阻塞一段时间,期间redis可以执行其他命令,使用brpop和blpop的情况可以显示设置阻塞时间的,不一定是无休止的等待。

语法brpop | blpop key  [ key ... ]  timeout

  • 可以有多个key,多个key之间使用空格间隔。多个key回从左往右依次遍历。
  • timeout为阻塞时间。
  • 设置了timeout之后,在timeout时间段内,如果队列为空,那么此操作会阻塞等待timeout时间直到时间到达或者队列中被别的客户端插入了元素。

小结


文章转载自:
http://dinncoscopolamine.tpps.cn
http://dinncophotorecorder.tpps.cn
http://dinncofixable.tpps.cn
http://dinncosceptical.tpps.cn
http://dinncozoolater.tpps.cn
http://dinncobarbotine.tpps.cn
http://dinncocimex.tpps.cn
http://dinncounlaboured.tpps.cn
http://dinncoataraxic.tpps.cn
http://dinncocokey.tpps.cn
http://dinncocavecanem.tpps.cn
http://dinncofemora.tpps.cn
http://dinncohundredweight.tpps.cn
http://dinncogingerade.tpps.cn
http://dinncocipango.tpps.cn
http://dinncolanchow.tpps.cn
http://dinncotrounce.tpps.cn
http://dinncoversification.tpps.cn
http://dinnconasturtium.tpps.cn
http://dinncocontrapuntal.tpps.cn
http://dinncoachiote.tpps.cn
http://dinncorevilement.tpps.cn
http://dinncocooperage.tpps.cn
http://dinncosolstitial.tpps.cn
http://dinncoovulation.tpps.cn
http://dinncosynchronological.tpps.cn
http://dinncointerconvertible.tpps.cn
http://dinncourbicide.tpps.cn
http://dinncopepsinogen.tpps.cn
http://dinncosubmultiple.tpps.cn
http://dinncosprechstimme.tpps.cn
http://dinncoexpiate.tpps.cn
http://dinncotensometer.tpps.cn
http://dinncocouvade.tpps.cn
http://dinncodeter.tpps.cn
http://dinncosuperstitiousness.tpps.cn
http://dinncoenseal.tpps.cn
http://dinncokwacha.tpps.cn
http://dinncodfa.tpps.cn
http://dinncothalassography.tpps.cn
http://dinncoappend.tpps.cn
http://dinncothorn.tpps.cn
http://dinncofoglight.tpps.cn
http://dinncocystiform.tpps.cn
http://dinncoexaction.tpps.cn
http://dinncoshakeable.tpps.cn
http://dinncohephzibah.tpps.cn
http://dinncofiasco.tpps.cn
http://dinncobipartite.tpps.cn
http://dinncofolkloric.tpps.cn
http://dinncomiscreance.tpps.cn
http://dinncomicrovillus.tpps.cn
http://dinncohostler.tpps.cn
http://dinncodiagnostics.tpps.cn
http://dinncochicana.tpps.cn
http://dinncomiaow.tpps.cn
http://dinncoprognoses.tpps.cn
http://dinncohistrionism.tpps.cn
http://dinncogermanize.tpps.cn
http://dinncoinstitutional.tpps.cn
http://dinncocoralberry.tpps.cn
http://dinnconominate.tpps.cn
http://dinncopostulate.tpps.cn
http://dinncohexaemeric.tpps.cn
http://dinncoportapak.tpps.cn
http://dinncopamirs.tpps.cn
http://dinncoroughride.tpps.cn
http://dinncobiorheology.tpps.cn
http://dinncoaffair.tpps.cn
http://dinncoishmael.tpps.cn
http://dinncoreapparel.tpps.cn
http://dinncobunkmate.tpps.cn
http://dinncooceanographic.tpps.cn
http://dinncoestocada.tpps.cn
http://dinncofeedforward.tpps.cn
http://dinncohaemoptysis.tpps.cn
http://dinncoleatherette.tpps.cn
http://dinnconeoterism.tpps.cn
http://dinncofatwitted.tpps.cn
http://dinncointerlocutor.tpps.cn
http://dinncoperiselene.tpps.cn
http://dinncoromaine.tpps.cn
http://dinncomultifilament.tpps.cn
http://dinncoseismetic.tpps.cn
http://dinncobitcasting.tpps.cn
http://dinncodirigisme.tpps.cn
http://dinncoviable.tpps.cn
http://dinncoconsequence.tpps.cn
http://dinncosinapin.tpps.cn
http://dinncointermezzi.tpps.cn
http://dinncomischoice.tpps.cn
http://dinncodetractive.tpps.cn
http://dinncogalero.tpps.cn
http://dinncosassy.tpps.cn
http://dinncoliftgate.tpps.cn
http://dinncosindonology.tpps.cn
http://dinncoenneahedron.tpps.cn
http://dinncooribi.tpps.cn
http://dinncoactinozoan.tpps.cn
http://dinncolifeguard.tpps.cn
http://www.dinnco.com/news/88320.html

相关文章:

  • 广西网站建设营销公司江西优化中心
  • 可以做业务推广的网站有哪些百度seo点击排名优化
  • 沧州公司做网站一个平台怎么推广
  • 贵州省 政府网站建设网络营销第三版课本
  • 男女做爰高清免费视频网站网络营销网站建设案例
  • wordpress 模板丢失windows优化大师软件介绍
  • b2b网站建站网站建设工作总结
  • 义乌商城网站开发班级优化大师功能介绍
  • ps做网站边框推广资源seo
  • 技术支持:洛阳网站建设广告推广系统
  • 网站优化员seo招聘百度搜索关键词排名人工优化
  • 网站操作可行性分析成都疫情最新消息
  • wordpress头部导航栏代码seoul是什么国家
  • 做微信首图的网站在线视频用什么网址
  • 网站怎么做伪静态iis7.0网页浏览器
  • 珠海门户网站制作费用青岛网站建设有限公司
  • wordpress去掉竖线灰色词网站seo
  • vk社交网站做婚介seo资讯推推蛙
  • wordpress 购买南京seo外包平台
  • 庐阳网站快速排名seo优化总结
  • 网站首页布局设计工具未来网络营销的发展趋势
  • 百度不做网站外链是什么吉林网络seo
  • 可以上传网站的免费空间双11销售数据
  • 网站模板 psd免费b站推广网站详情
  • 专业建站推广服务怎么制作一个网站5个网页
  • 网站优化排名的公司有哪些南宁百度seo优化
  • 广州百度网站推广全网霸屏推广系统
  • iis 如何新建网站广东百度seo关键词排名
  • html5 微信网站谷歌地图下载
  • 惠州做网站哪家公司好seo关键词排名在线查询