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

北京专业的网站ui设计公司单位做网站

北京专业的网站ui设计公司,单位做网站,湖南网站备案,wordpress做管理网站吗个人主页 #xff1a; 个人主页 个人专栏 #xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言命令LPUSH 和 LPUSHXLRANGERPUSH 和 RPUSHXLPOP 和 RPOPLINDEXLINSERTLLENLREMLTRIMLSET阻塞版命令BLPOP 和 BRPOP 内部编码总结 前言 列… 个人主页 个人主页 个人专栏 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言命令LPUSH 和 LPUSHXLRANGERPUSH 和 RPUSHXLPOP 和 RPOPLINDEXLINSERTLLENLREMLTRIMLSET阻塞版命令BLPOP 和 BRPOP 内部编码总结 前言 列表类型是用来存储多个有序的字符串列表中的每个字符串称为元素列表是一种灵活的数据结构可以充当栈和队列。 下图为列表两端插入和弹出操作 下图为列表的获取和删除等操作 注意 约定最左侧元素下标是0 redis的下标支持负数下标 list 并非是一个简单的数组而是更接近于双端队列 列表类型的特点 列表中的元素是有序的有序表示元素的顺序很重要。相同元素不同顺序是不同的列表列表中的元素是允许重复的 命令 LPUSH 和 LPUSHX 将一个或者多个元素从左侧(头插)放入到list中 LPUSH key element [element … ] 返回值插入后list的长度 时间复杂度O(N)N为插入元素个数 在key存在时将一个或者多个元素从左侧放入(头插)到list中。不存在直接返回 LPUSHX key element [element … ] 返回值插入后list的长度 时间复杂度O(N)N为插入元素个数 注意 如果key已经存在并且key对应的value类型不是list此时lpush命令就会报错 redis 中所有的这些各种数据类型的操作都是类似的效果 LRANGE 获取从 start 到 end 区间所有元素左闭右闭。 LRANGE key start stop 返回值指定区间的元素 时间复杂度O(N) redis并没有提供 rrange 命令 注意 redis处理下标是直接尽可能的获取到给定区间的元素如果给定区间非法比如超出下标就会尽可能的获取对应的内容。 RPUSH 和 RPUSHX 将一个或者多个元素从右侧放入(尾插)到list中 RPUSH key element [ element … ] 返回值插入后list的长度 时间复杂度O(N)N为插入元素个数 在 key 存在时将一个或多个元素从右侧放入(尾插)到list中不存在直接返回 RPUSHX key element [ element … ] 返回值插入后list的长度 时间复杂度O(N)N为插入元素个数 LPOP 和 RPOP 从list左侧取出元素(头删) LPOP key 返回值取出的元素或者nil 时间复杂度O(1) 从list右侧取出元素(尾删) RPOP key 返回值取出的元素或者nil 时间复杂度O(1) 注意 redis中的list是一个双端队列从两头插入/删除元素都是O(1)搭配使用 rpush 和 lpop 就相当于 队列搭配使用 rpush 和 rpop 就相当于 栈。 LINDEX 获取从左数第index位置的元素 LINDEX key index 返回值取出的元素 或者 nil 时间复杂度O(N)N为list的长度 LINSERT 在特定位置插入元素 LINSERT key BEFORE | AFTER pivot element 返回值插入后的list长度 时间复杂度O(N)N为list的长度 注意 如果要插入的列表中基准值存在多个怎么办insert进行插入时要根据基准值找到对应的位置。从左往右找找到第一个符合基准值的位置即可。 LLEN 获取 list 长度 LLEN key 返回值list的长度 时间复杂度O(1) LREM 移除list中指定数量的与给定值相等的元素 LREM key count value 返回值被移除元素的数量 时间复杂度O(N)N为list的长度 count 0从列表左侧开始移除与 value 相等的最多 count个元素count 0从列表尾部开始移除与 value 相等的最多 count个元素count 0移除列表中所有与value相等的元素 LTRIM 保留 start 和 stop 之间区间内的元素(区间两边的元素直接删除) LTRIM key start stop 返回值成功返回“OK” 时间复杂度O(N)N为被移除的元素数量 注意 redis6 开始支持 ACL(access control list 访问控制列表)也就是权限。 redis由很多命令acl把每个命令都打上标签管理员就可以给每个redis用户配置不同的权限(允许 该用户 可以执行那些标签对应的命令) LSET 将列表key中下标为index的元素的值设置为element LSET key index element 返回值成功返回“OK”失败返回错误信息 时间复杂度O(N)N为列表的长度 阻塞版命令 blpop 和 brpop 是 lpop 和 rpop 的阻塞版本。 在列表中有元素的情况下阻塞和非阻塞表现是一致的。如果列表中没有元素非阻塞版本会立即返回nil但阻塞版本会根据timeout阻塞一段时间期间redis可以执行其它命令但要求执行该命令的客户端要表现为阻塞状态命令中如果设置了多个键那么会从左向右进行遍历键一但有一个键对应的列表可以弹出元素命令立即返回如果多个客户端同时对一个键执行pop则最先执行命令的客户端会得到弹出元素 redis中的list也相当于 阻塞队列 一样线程安全是通过单线程模型支持的阻塞则只支持队列为空的情况不考虑队列满了 BLPOP 和 BRPOP BLPOP key [key …] timeout BRPOP key [key …] timeout 如果这些list有任何一个非空blpop都能够把这里的元素给获取到立即返回 如果这些list都为空此时需要阻塞等待等待其它客户端向这些list插入元素 可以指定超时时间单位是 秒 (redis 6 超时时间允许设定为小数redis 5 超时时间要是整数) brpop效果和blpop类似 针对一个非空的列表进行操作 返回结果相当于一个pair(二元组)一方面告诉我们当前的数据来自哪个key一方面告诉我们取到的数据是什么针对一个空的列表进行操作 针对多个key进行操作 内部编码 之前list类型的内部编码实现有两种 ziplist(压缩列表)当列表的元素个数小于 list-max-ziplist-entries 配置同时列表中每个元素的长度都小于 list-max-ziplist-value 配置时redis会选用ziplist来作为列表内部编码实现来减小内存消耗linkedlist(链表)当列表类型无法满足ziplist的条件时redis会使用linkedlist作为列表内部实现 现在list类型内部使用quicklist实现 quicklist是一个双向链表但它的节点是压缩列表每个quicklist节点都包含一个ziplistziplist中存储了list类型的数据元素。这种设计即保持了双向链表的插入和删除优势又通过压缩列表提高了内存利用率 总结 以上就是我的redis学习笔记
http://www.hkea.cn/news/14370216/

相关文章:

  • 网站不备案能解析吗辞职做网站
  • 三网合一建站价格微信开发公众平台
  • 威海住房和城乡建设局网站做问答营销的网站有哪些
  • 没有网站怎么做百度优化wordpress博客申请
  • 网站建设需要服务器网页设计学生作业
  • 建网站的英文网站制作成都
  • js网站页面效果做网站优化的教程
  • 网站设置在设备之间共享什么意思网站建设工作半年通报
  • 设计网站教程中国建设行业峰会网站
  • 做旅游的网站开个大型购物网站需要多少钱
  • 什么网站可以做设计赚钱企业网站数据库表设计
  • 如何给网站做优化代码企业所得税什么时候交
  • 免费软件下载网站哪个好免费企业邮箱账号密码
  • 上海优化网站公司分类信息网站系统
  • 做聚美优品网站得多少钱镇海建设交通局网站首页
  • 如何统计网站pv中国城乡建设部人力网站首页
  • 那个网站做代买深圳开发app公司
  • 做风投要关注哪些网站微信商城小程序搭建教程
  • 大学生简历制作网站南宁网站建设 南宁联达亿
  • 开办网站原因wordpress中文模板下载
  • 可以做多边形背景的网站商城网页定制开发
  • 个人网站代码编写建设工程施工合同管辖
  • 一个网站如何创建多个页面稿定在线图片编辑
  • 网站配色与布局 教材wordpress相对地址
  • 广东装饰网站建设办公室设计费一般多少钱一平
  • 建设网站小常识免费素材网站无水印
  • 网站排名按天付费nodejs网站开发
  • 建设一个网站用什么软件影视网站
  • 做ps从哪个网站上下载图片大小个人网站栏目设计
  • 如何在手机做网站wd ex4 安装wordpress