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

烟台网站设计英语ppt模板免费下载 素材

烟台网站设计,英语ppt模板免费下载 素材,免费中文WordPress主题,东平县建设局网站Redis#xff1a;list类型 list命令非阻塞LPUSHLRANGELPUSHXRPUSHRPUSHXLPOPRPOPLINDEXLINSERTLLENLREMLTRIMLSET 阻塞BLPOPBRPOP 内部编码ziplistlinkedlistquicklist 几乎每种语言都有顺序表、数组、链表这样的顺序结构#xff0c;Redis也做出了相应的支持。 如图#xff… Redislist类型 list命令非阻塞LPUSHLRANGELPUSHXRPUSHRPUSHXLPOPRPOPLINDEXLINSERTLLENLREMLTRIMLSET 阻塞BLPOPBRPOP 内部编码ziplistlinkedlistquicklist 几乎每种语言都有顺序表、数组、链表这样的顺序结构Redis也做出了相应的支持。 如图Redis的value值可以是一个列表list其支持头尾的插入删除下标访问等功能。也支持正负数下标正数下标从0开始负数下标从-1开始。 list命令 非阻塞 LPUSH 头插元素到list中如果key不存在就创建 lpush key element [element ...]返回list插入后的长度。如果一开始key不存在就创建一个key。 LRANGE 获取指定范围的list元素 lrange key start stop访问区间为[start, end]的闭区间支持负数下标。 示例 接下来通过lrange测试刚刚的lpush接口 由于lpush是头部插入所以按顺序插入1 2 3 4 5最后存储顺序为5 4 3 2 1。 如果在Redis中数组越界Redis不会报错而是尽可能输出范围内存在的数据。 第一次查询0 - 100但是list中只有0 - 4那么此时把0 - 4全部输出。第二次查询50 -60list内没用这部分数据但是它不报错而是输出empty表示空。 LPUSHX 当key存在头插元素到list中 lpushx key element [element ...]返回插入后list中元素的个数。 示例 第一次插入list1由于已经存在此时插入成功返回9表示当前有九个元素。第二次插入了一个不存在的list2但是它不存在返回0表示插入后一个元素也没有也就是插入失败。 RPUSH 尾插元素到list中如果key不存在就创建 rpush key element [element ...]返回插入后list元素个数。 示例 同样插入1 2 3 4 5顺序与之前lpush插入刚好是反着的因为rpush是尾插。 此处list有一个命名上的注意点 lpushleft push从左侧插入即头插rpushright push从右侧插入即尾插lrangelist range输出列表指定范围 同样是l开头有时候表示list有时候表示left这个要注意。 另外的 lpushxleft push exists存在时插入 此处的x是选用了exsis中的一个字母表示只有key存在才插入。 RPUSHX 当key存在尾插元素到list中 rpushx key element [element ...]返回插入后list中元素的个数。 LPOP 头删list元素 lpop key [count]返回被删除的头部count个元素如果list为空没有可以删的元素了返回nil。 示例 先创建一个1 2 3 4 5的列表第一次lpop不带任何参数只输出一个头部元素。第二次带参数4此时输出剩余的四个元素。最后一次lpop由于已经没有元素了返回nil。 RPOP 尾删list元素 rpop key [count]返回被删除的尾部count个元素如果list为空没有可以删的元素了返回nil。 LINDEX 获取指定下标的元素 lindex key index返回指定下标的元素支持负数下标。 示例 LINSERT 在指定位置插入元素 linsert key before|after pivot element在元素pivot的前面或者后面插入element元素。 示例 此处指令的作用是在元素c前面插入hello。 如果有多个pivot元素那么只在第一个元素的位置插入。 LLEN 获取list的长度 llen key返回list长度如果不存在则返回0。 LREM 删除元素 lrem key count element删除count个element元素。 此处count的取值有三种 count 0从左往右删除count 0从右往左删除count 0删除所有元素 示例 此处插入了1 2 3 hello循环四次删除3 hello即从左往右删除三个hello每次出只有最后一个hello被保留。 如果传入-3 hello此时从右往左删除只有第一个hello被保留。 LTRIM 指定范围内元素保留剩余的元素删除 ltrim key start stop只保留[start, stop]闭区间内部的元素其余的元素全部删除。 示例 LSET 修改指定下标的元素 lset key index element将下标为index的元素改为element支持负数下标。如果下标越界会返回一个报错。 示例 第一次修改将下标为3的元素修改为666。第二次插入操作下标为100的元素由于不存在报错了。 阻塞 先前的所有的命令都是非阻塞的直接操作就可以得到结果而list还提供了一些阻塞性质的命令。 在多线程中有一个生产消费模型其可以基于阻塞队列实现主要满足以下两个性质 如果阻塞队列满了那么生产者阻塞如果阻塞队列空了那么消费者阻塞 在Redis中list只考虑队列为空的情况也就是消费者。用户读取数据时队列为空那么用户陷入阻塞直到队列有数据。 BLPOP 读取并删除list头部元素如果没有元素则陷入阻塞 blpop key [key ...] timeoutblpop可以同时指定多个key也就是多个list只要任何一个list有数据就返回结果。还可以设置超时时间timeout以秒为单位如果超过时间了返回nil。 如果超时时间设置为0则一直阻塞不会超时。 另外的此处的阻塞不是Redis阻塞而是客户端阻塞。如果阻塞Redis将指令放到后台去等待自己去执行其他指令。 示例 此处list8有元素而list9为空返回了list8的元素。此时会同时返回两个内容list8表示该数据是从哪一个列表中拿到的3则是拿到的数据。 此处启用了两个客户端左侧客户端blpop一个空列表等待20s随后陷入阻塞。接着右侧客户端插入一个元素到list9随后左侧客户端立刻拿到数据并输出并且输出了自己的阻塞市场18.15s。 BRPOP 读取并删除list尾部元素如果没有元素则陷入阻塞 brpop key [key ...] timeout总结 操作类型命令添加rpush、lpush、insert查找lrange、lindex、llen删除lpop、rpop、lrem、ltrim修改lset阻塞blpop、brpop 内部编码 ziplist 压缩列表是一种内存紧凑的存储方式适合存储数量较少且元素较小的列表。具体来说当list类型的元素个数小于 list-max-ziplist-entries 默认 512 个并且所有值的长度都小于 list-max-ziplist-value 默认 64 字节时Redis 会使用 ziplist 作为列表的内部实现。 这些配置在/etc/redis/redis.conf内修改。 优点 内存节省 ziplist 使用连续的内存块来存储数据这种紧凑的存储方式可以有效地减少内存碎片和开销。结构简单适合小规模数据尤其是在内存资源有限的情况下。 缺点 操作效率随着数据量的增加ziplist 的读写效率会下降。尤其是在需要频繁更新的场景中ziplist 的线性查找特性使得操作复杂度较高。扩展性差不适合大规模数据存储。 linkedlist 当列表类型无法满足ziplist的条件时会使用linkedlist链表作为list的内部实现。这就是一个基本的双向链表。 优点 头尾的插入删除非常高效 缺点 中间部分的插入删除时间复杂度较高 quicklist linkedlist 与 ziplist 编码在 Redis 4.0 版本之后不再是默认的列表编码方式因为引入了更高效的 quicklist 编码它是基于压缩列表和双向链表的组合旨在结合两者的优点。 对于quicklist其外层列表依然是linkedlist双链表结构但是每一个链表节点都是一个quicklist对于中间部分的节点会进行一定程度的压缩提高效率。
http://www.dnsts.com.cn/news/7088.html

相关文章:

  • 宁夏住房和城乡建设厅网站办事窗口公司网站还有用吗
  • dw做网站的搜索栏怎么做有什么网站可以自己做书
  • 长安网站建设定制wp上的wordpress
  • 国内做化妆刷的比较好的网站图片模板免费下载
  • 网站开发 价格郴州出现一例无症状感染者
  • 怎么查看网站是否被百度收录城市分类信息网站系统
  • 自建网站管理世界500强企业名单排名
  • 个人网站备案模板工信部网站备案查不到
  • 网络科技网站设计品味雅虎 wordpress主题
  • 求网站开发客户响应是网站怎么做
  • 网站建设设计报告互联网有创意的公司名字大全
  • 哈尔滨模板自助建站品牌网站建设 细致磐石网络
  • wp网站建设模板有那个网站做外贸
  • 哈尔滨口碑好的建站公司wordpress更换文章图片链接
  • 长沙网站制作与设计discuz做网站
  • 石家庄建设网站公司网站前台图片设置
  • 西宁做网站君博示范潍坊正规网站建设公司
  • 山东省住房与城乡建设网站网站信息内容建设自查报告
  • 九江市建设规划局网站商城开发价格
  • 哪个网站做团购要求低点代理平台有哪些
  • 关键词的优化方法wordpress优化网站打开速度
  • 如何实现网站的快速排名手机网站开发 html
  • 浙江网站建设培训机构长沙专业网站设计服务
  • 做分销网站系统wordpress集成微信支付宝
  • 来年做哪个网站致富wordpress主题祥情在那改
  • wordpress 移动端适配某一网站seo策划方案
  • 佛山南海网站开发酒水销售网站
  • 网站备案信息模板开设赌场罪建设网站
  • 郑州企业建设网站服务建设银行手机银行网站
  • 网站怎么做架构创建邮箱网站