网站建设总体说明自己建个网站需要什么

pingmian/2025/10/10 17:48:13/文章来源:
网站建设总体说明,自己建个网站需要什么,卡盟网站建设,90设计网官网 登录文章目录 一、List 类型介绍二、List 类型相关命令2.1 LPUSH 和 RPUSH、LPUSHX 和 RPUSHX2.2 LPOP 和 RPOP、BLPOP 和 BRPOP2.3 LRANGE、LINDEX、LINSERT、LLEN2.4 列表相关命令总结 三、List 类型内部编码3.1 压缩列表#xff08;ziplist#xff09;3.2 链表#xff08;lin… 文章目录 一、List 类型介绍二、List 类型相关命令2.1 LPUSH 和 RPUSH、LPUSHX 和 RPUSHX2.2 LPOP 和 RPOP、BLPOP 和 BRPOP2.3 LRANGE、LINDEX、LINSERT、LLEN2.4 列表相关命令总结 三、List 类型内部编码3.1 压缩列表ziplist3.2 链表linkedlist 四、List 类型的应用场景4.1 消息队列4.2 微博列表 一、List 类型介绍 list 列表类型是用来存储多个有序的字符串列表中的每个字符串称为元素element一个列表最多可以存储 2^32 - 1 个元素。在 Redis 中可以对列表两端插人push和弹出pop还可以获取指定范围的元素列表、获取指定索引下标的元素等。列表是⼀种比较灵活的数据结构它可以充当栈和队列的角色在实际开发上有很多应用场景。 列表两端插入和弹出操作 列表的获取、删除等操作 列表类型的特点 列表中的元素是有序的这意味着可以通过索引下标获取某个元素或者某个范围的元素列表区分获取和删除的区别例上图 中的 lrem 1 b 是从列表中把从左数遇到的前 1 个 b 元素删除这个操作会导致列表的长度从 5 变成 4但是执行 lindex 4 只会获取元素但列表长度不会变化。列表中的元素是允许重复的例如下图中的列表中是包含了两个 a 元素的。 二、List 类型相关命令 2.1 LPUSH 和 RPUSH、LPUSHX 和 RPUSHX LPUSH 和 RPUSH LPUSH 命令的作用是将一个或多个元素从左侧头插插入到 list 中而 RPUSH 命令的作用则是将一个或多个元素从右侧尾插插入到 list 中。 语法 LPUSH key element [element ...]RPUSH key element [element ...]LPUSHX 和 RPUSHX LPUSHX 命令的作用是当 key 存在时将⼀个或者多个元素从左侧放⼊头插到 list 中不存在则直接返回而 RPUSHX 命令的作用是是当 key 存在时将⼀个或者多个元素从右侧放⼊头插到 list 中不存在则直接返回。 语法 LPUSHX key element [element ...]RPUSHX key element [element ...]2.2 LPOP 和 RPOP、BLPOP 和 BRPOP LPOP 和 RPOP LPOP 命令的作用是从左侧删除一个元素头删并返回删除的值而 RPOP 则是从右侧删除尾删然后返回删除的值。 语法 LPOP keyRPOP keyBLPOP 和 BRPOP BLPOP 和 BRPOP 命令的作用和LPOP 、 RPOP 一样只是需要指定一个超时时间如果没有元素可以删除的时候会进行阻塞如果在设定的超时时间内向 Redis 中插入元素则会立即执行否则超时则之间退出。 语法 BLPOP key [key ...] timeoutBRPOP key [key ...] timeout另外BLPOP 和 BRPOP 可以同时指定多个 key 进行删除。 2.3 LRANGE、LINDEX、LINSERT、LLEN LRANGE LRANGE命令的作用是获取从 start 到 stop 区间的所有元素区间左闭右闭并且指定的位置可以是负数表示倒数第几个。 语法 LRANGE key start stopLINDEX LINDEX 命令的作用是获取从左边开始第 index 位置的元素。 语法 LINDEX key indexLINSERT LINSERT 命令的作用是在特定的位置插入元素。 语法 LINSERT key BEFORE|AFTER pivot element说明 BEFORE 表示插入到 pivot 元素之前AFTER 表示插入到 pivot 元素之后。 LLEN LLEN 命令的作用是 获取 list 长度。 语法 LLEN key2.4 列表相关命令总结 以下是关于 Redis List 相关命令的总结包括命令、作用以及时间复杂度 命令作用时间复杂度LPUSH从列表左侧插入一个或多个元素O(N) N 为插入元素数量RPUSH从列表右侧插入一个或多个元素O(N) N 为插入元素数量LPUSHX如果列表存在从左侧插入一个或多个元素否则不执行操作O(1)RPUSHX如果列表存在从右侧插入一个或多个元素否则不执行操作O(1)LPOP从列表左侧删除并返回一个元素O(1)RPOP从列表右侧删除并返回一个元素O(1)BLPOP从左侧删除并返回元素如果列表为空则阻塞带有超时参数O(1) 或阻塞等待BRPOP从右侧删除并返回元素如果列表为空则阻塞带有超时参数O(1) 或阻塞等待LRANGE获取指定范围内的元素列表O(Slice Size)LINDEX获取指定位置的元素O(N) N 为索引位置LINSERT在指定元素前或后插入新元素O(N) N 为列表长度LLEN获取列表的长度O(1) 注意时间复杂度中的 “N” 表示操作的复杂度与列表的长度或插入元素的数量成线性关系而不是固定的常数时间。在实际使用中需要根据数据规模和性能要求选择适当的命令。 三、List 类型内部编码 Redis 中的 List 数据类型在内部可以使用不同的编码方式来存储数据具体的编码方式取决于列表的大小和元素的大小。下面将介绍两种常见的 List 内部编码方式 3.1 压缩列表ziplist 压缩列表ziplist是 Redis 中一种紧凑的、内存优化的列表编码方式适用于存储较小的列表或者列表中的元素都是较小的整数或字符串。压缩列表以连续的内存块的形式存储数据每个节点可以包含一个或多个元素这使得压缩列表在内存使用效率上有一定优势。 特点 压缩列表可以保存多个元素在一个节点中因此在元素较小的情况下它可以节省内存。压缩列表支持快速的元素访问因为可以通过索引直接访问元素。压缩列表适用于列表较小且元素较小的情况。 3.2 链表linkedlist 链表linkedlist是 Redis 中另一种列表的内部编码方式它更适合存储大型列表或者元素大小不一致的列表。链表中的每个节点包含一个元素以及指向前一个节点和后一个节点的指针这种结构使得链表在插入和删除元素时具有较高的效率。 特点 链表适用于列表较大或元素较大的情况因为它不需要连续的内存块可以更好地处理大型数据。链表对于插入和删除元素的操作更加高效因为只需要调整节点的指针而不需要移动大量数据。链表相对于压缩列表占用更多的内存因为需要额外的指针来维护节点之间的链接。 总之Redis 根据列表的大小和元素的大小自动选择使用压缩列表或链表来进行编码以平衡内存使用和操作效率。在选择数据结构和命令时需要考虑数据的规模和操作的性能需求。 示例 1当元素个数较少且没有大元素时内部编码为 ziplist 127.0.0.1:6379 rpush listkey e1 e2 e3 OK 127.0.0.1:6379 object encoding listkey ziplist2当元素个数超过 512 时内部编码为 linkedlist 127.0.0.1:6379 rpush listkey e1 e2 e3 ... 省略 e512 e513 OK 127.0.0.1:6379 object encoding listkey linkedlist3当某个元素的长度超过 64 字节时内部编码为 linkedlist 127.0.0.1:6379 rpush listkey one string is bigger than 64 bytes ... 省略 ... OK 127.0.0.1:6379 object encoding listkey linkedlist四、List 类型的应用场景 4.1 消息队列 Redis 可以使用 lpush brpop 命令组合实现经典的阻塞式生产者-消费者模型队列生产者客户端使用 lpush 从列表左侧插入元素多个消费者客户端使用 brpop命令阻塞式地从队列中 “争抢” 队首元素。通过多个客户端来保证消费的负载均衡和高可用性。 Redis 阻塞消息队列模型 分频道的消息队列 Redis 可以同样使用 lpush brpop 命令但通过不同的键模拟频道的概念不同的消费者可以通过 brpop 不同的键值实现订阅不同频道的理念。 4.2 微博列表 每个用户都有属于自己的微博列表 现需要分页展示文章列表。此时可以考虑使用列表类型因为列表不但是有序的同时支持按照索引范围获取元素。 1每篇微博使用哈希结构存储例如微博中 3 个属性title、timestamp、content hmset mblog:1 title xx timestamp 1476536196 content xxxxx ... hmset mblog:n title xx timestamp 1476536196 content xxxxx2向用户 的微博列表中添加微博使用 user:uid:mblogs 作为微博的键 lpush user:1:mblogs mblog:1 mblog:3 ... lpush user:k:mblogs mblog:93分页获取用户的微博列表例如获取用户1 的前 10 篇微博 keylist lrange user:1:mblogs 0 9 for key in keylist {hgetall key }此外此方案在实际中可能存在两个问题 1 n 问题。即如果每次分页获取的微博个数较多需要执行多次 hgetall 操作此时可以考虑使用 pipeline流水线模式批量提交命令或者微博不采用哈希类型而是使用序列化的字符串类型使用 mget 获取。分页获取文章时lrange 在列表两端表现较好获取列表中间的元素表现较差此时可以考虑将列表做拆分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发的公司名称android app开发 wordpress

目录 1 200. 岛屿数量 2 994. 腐烂的橘子 2.1 智障遍历法 2.2 仿层序遍历法 菜鸟做题,语言是 C 1 200. 岛屿数量 解题思路: 遍历二维数组,寻找 “1”(若找到则岛屿数量 1)寻找与当前 “1” 直接或间接连接在…

网站基础知识最新网站模板

文章目录 一、介绍直流电机介绍电机驱动电路大功率器件直接驱动H桥驱动集成电路线路图 PWM介绍产生PWM的方法 二、实例1.呼吸灯案例2.直流电机调速 一、介绍直流电机 介绍 电机驱动电路 点击的负载较大,直接接在单片机I/O口上无法驱动,所以需要驱动电路…

自己编写网站购买网站域名多少钱

所谓重用(reuse)是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。大量使用可重用的软件构件来开发软件,可以从下述两个方面提高软件的可维护性。 (1) 通常,可重用的软件构件在开发时都经过很严格的测试,可…

特价网站建设公司东莞网站优化的具体方案

2019独角兽企业重金招聘Python工程师标准>>> 1.JMeter常用术语 1)采样器(Samplers) 采样器是JMeter测试脚本的基础单元,用户可以用他来向服务器发出一个特定的请求,比如HTTP请求、JAVA请求。 2&#xff…

网站建设维护项目打开一张图片后点击跳转到网站怎么做的

jsp的一些常用语法实验四 JSP基本语法一、实验目的1. 熟练掌握JSP的声明、表达式、小脚本和注释的使用;2. 理解JSP指令和动作的语法格式;3. 理解JSP页面的生命周期。4. 熟练掌握page指令的下面的属性:import、session、errorPage、isErrorPag…

有没有能帮人快速网站备案的机构开发公司质量保证体系

1. 介绍一下spring的两大核心思想 2. 介绍一下java的代理,以及动态代理和静态代理的区别 3. spring动态代理是如何生成的,jdk动态代理和cglib的区别 4. 介绍一下synchronized关键字、以及synchronized锁和lock的区别 5. 讲一下java中synchronized的锁升级…

app科技产品网站建设塘沽有哪些互联网公司

文章目录 前言0. 通用设置0.1 开启插件0.2 设置Viewport 1. 分场景教程1. 1 在仅使用鼠标控制的场景下Common Activatable StackCommon Activatable Widget 1.2 当焦点落到一个按钮时显示默认确认(Click/Accept)按键图标Common Input Action DataBaseInp…

电子商务网站建设与管理第四章答案网站建设seo方案

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java练习题 💬个人格言:不断的翻越一座又…

网站页面模板页面布局网站搭建服务合同

这里不再解释vDSO的概念,而直接谈其意义:vDSO类似一个信息公告板,用户可以直取所需,而无需为此办理任何手续。vDSO相当于内核直接暴露出来的一个C库,作为GLIBC的补充。…类似gettimeofday之类的调用,每次都…

好看的手机网站布局沈阳沙盘模型公司

SQL是另一个门类的开发语言,是专用于结构化数据库操作的专用语言。SQL不可能单独开发系统,但是做数据库方面的系统不懂SQL也不行。市面上很大部分开发岗位(后台)都是要和数据库打交道的,所以SQL必须掌握。 好消息是&am…

创意建设机械网站wordpress 加分类

本文将简单介绍loglus框架的基本使用,并给出demo 文章目录 前言Loglus常见用法自定义日志级别使用字段钩子输出到多个位置使用钩子实现自定义日志处理demo 前言 Logrus 是一个用于 Go 语言的结构化日志框架,它提供了丰富的日志级别、钩子和格式化选项。…

云主机开网站教程射阳建设局网站

基于 eclipse-temurin 构建国内时区,地区,语言的镜像 使用场景自定Dockerfile构建自己的基础镜像构建本地镜像推送远程仓库 使用场景 在给应用构建自定义镜像时,往往需要在每次构建时去调整时区,地区这些东西;每次构建…

人网站建站想要给网站加视频怎么做

1 STL 的数值算法概述 STL 的数值算法提供了一系列用于处理数值计算的模板函数。这些算法主要针对容器中的元素进行数学运算和统计计算,使得程序员能够高效地处理数值数据。 STL 数值算法包括了一系列功能丰富的函数,例如 std::accumulate 用于计算容器…

惠州哪家做网站好河南那家做网站实力强

本篇文章 经过许多次的测试和修改已经完成了在Ubuntu7.10 下 安装配置 ApachePHPMySQL的所有的工作. 1、在Ubuntu7.10 下安装 Apache2PHP5MySQL sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd mysql-server php5-mysql phpmyadmin在下载来自动安装配置的时候…

专业电商网站建设多少钱阿里巴巴外贸圈

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

互联网站备案信息重庆施工许可证查询

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

网站百度seo推广怎么做网站联系我们模板

一、篇头 全志H713平台,作为FHD投影的低成本入门方案,其公板上也配齐了许多投影使用的模组,本文即介绍投影仪调焦所用的步进电机,此模组的驱动原理、配制方法、调试方法。因为条件限制,本文采用的是H618香橙派Z3平台&…

网站页面策划怎么做北京66中网站做的不怎么样呀

DES: 这是一个新的游戏。给你一套牌、编号从1到100000.正常来说。你手中的牌和这次翻的牌是一样的,就会加一分。但是。如果是999的话。加三分。所以问你最大的分是多少。 貌似是简单的DP吧。(DP菜鸟...再简单我也不会...T_T...)于是...我看懂…

合适做服装的国际网站东莞企业网站建设开发

1、基本定义 广义定义:商品是为了出售而生产的劳动成果,人类社会生产力发展到一定历史阶段的产物,用于交换的劳动产品。 电商商品基本概念: 商品类目商品属性销售属性商品编码&商品规格编码SKU和SPU… 2、商品类目 电商平…

什么是网站建设方案书做网站项目的流程

一、面向对象类的设计:在程序开发中,要设计一个类,通常需要满足以下三个要求:1、类名 这类事物的名字,满足大驼峰命名法2、属性 这类事物具有什么样的特征3、 方法 这类事物具有什么样的行为eg:小明今年18岁&#xf…