阿里云网站域名备案医院构建网络平台你怎么准备

pingmian/2026/1/22 14:01:31/文章来源:
阿里云网站域名备案,医院构建网络平台你怎么准备,汉口网站推广优化,地名网站安全建设方案转载自 Redis RDB文件格式全解析 点评 这篇文章作为对RDB理解的教程文章#xff0c;对RDB文件的原理理解有助于进行Redis高阶应用的设计与开发。 文章转自#xff1a;http://blog.nosqlfan.com/html/3734.html 作者#xff1a;nosqlfan RDB文件是Redis持久化的一种方式…转载自  Redis RDB文件格式全解析 点评 这篇文章作为对RDB理解的教程文章对RDB文件的原理理解有助于进行Redis高阶应用的设计与开发。 文章转自http://blog.nosqlfan.com/html/3734.html 作者nosqlfan RDB文件是Redis持久化的一种方式Redis通过制定好的策略按期将内存中的数据以镜像的形式转存到RDB文件中。那么RDB文件内部格式是什么样的呢Redis又做了哪些工作让RDB能够更快的dump和加载呢下面我们深入RDB文件来看一看其内部结构。首先我们来看一个RDB文件的概况图 ----------------------------# RDB文件是二进制的所以并不存在回车换行来分隔一行一行. 52 45 44 49 53 # 以字符串 REDIS 开头 30 30 30 33 # RDB 的版本号大端存储比如左边这个表示版本号为0003 ---------------------------- FE 00 # FE FE表示数据库编号Redis支持多个库以数字编号这里00表示第0个数据库 ----------------------------# Key-Value 对存储开始了 FD $length-encoding # FD 表示过期时间过期时间是用 length encoding 编码存储的后面会讲到 $value-type # 1 个字节用于表示value的类型比如set,hash,list,zset等 $string-encoded-key # Key 值通过string encoding 编码同样后面会讲到 $encoded-value # Value值根据不同的Value类型采用不同的编码方式 ---------------------------- FC $length-encoding # FC 表示毫秒级的过期时间后面的具体时间用length encoding编码存储 $value-type # 同上也是一个字节的value类型 $string-encoded-key # 同样是以 string encoding 编码的 Key值 $encoded-value # 同样是以对应的数据类型编码的 Value 值 ---------------------------- $value-type # 下面是没有过期时间设置的 Key-Value对为防止冲突数据类型不会以 FD, FC, FE, FF 开头 $string-encoded-key $encoded-value ---------------------------- FE $length-encoding # 下一个库开始库的编号用 length encoding 编码 ---------------------------- ... # 继续存储这个数据库的 Key-Value 对 FF ## FFRDB文件结束的标志下面我们对上面的内容进行详细讲解 Magic Number 第一行就不用讲了REDIS字符串用于标识是Redis的RDB文件 版本号 用了4个字节存储版本号以大端big endian方式存储和读取 数据库编号 以一个字节的0xFE开头后面存储数据库的具体编号数据库的编号是一个数字通过 “Length Encoding” 方式编码存储“Length Encoding” 我们后面会讲到。 Key-Value值对 值对包括下面四个部分 1. Key 过期时间这一项是可有可无的 2. 一个字节表示value的类型 3. Key的值Key都是字符串通过 “Redis String Encoding” 来保存 4. Value的值通过 “Redis Value Encoding” 来根据不同的数据类型做不同的存储 Key过期时间 过期时间由 0xFD 或 0xFC开头用于标识分别表示秒级的过期时间和毫秒级的过期时间后面的具体时间是一个UNIX时间戳秒级或毫秒级的。具体时间戳的值通过“Redis Length Encoding” 编码存储。在导入RDB文件的过程中会通过过期时间判断是否已过期并需要忽略。 Value类型 Value类型用一个字节进行存储目前包括以下一些值 0 “String Encoding” 1 “List Encoding” 2 “Set Encoding” 3 “Sorted Set Encoding” 4 “Hash Encoding” 9 “Zipmap Encoding” 10 “Ziplist Encoding” 11 “Intset Encoding” 12 “Sorted Set in Ziplist Encoding” Key Key值就是简单的 “String Encoding” 编码具体可以看后面的描述 Value 上面列举了Value的9种类型实际上可以分为三大类 type 0, 简单字符串 type 为 9, 10, 11 或 12, value字符串在读取出来后需要先解压 type 为 1, 2, 3 或 4, value是字符串序列这一系列的字符串用于构建listsethash 和 zset 结构 Length Encoding 上面说了很多 Length Encoding 现在就为大家讲解。可能你会说长度用一个int存储不就行了吗但是通常我们使用到的长度可能都并不大一个int 4个字节是否有点浪费呢。所以Redis采用了变长编码的方法将不同大小的数字编码成不同的长度。 首先在读取长度时会读一个字节的数据其中前两位用于进行变长编码的判断 如果前两位是 0 0那么下面剩下的 6位就表示具体长度 如果前两位是 0 1那么会再读取一个字节的数据加上前面剩下的6位共14位用于表示具体长度 如果前两位是 1 0那么剩下的 6位就被废弃了取而代之的是再读取后面的4 个字节用于表示具体长度 如果前两位是 1 1那么下面的应该是一个特殊编码剩下的 6位用于标识特殊编码的种类。特殊编码主要用于将数字存成字符串或者编码后的字符串。具体见 “String Encoding” 这样做有什么好处呢实际就是节约空间 0 – 63的数字只需要一个字节进行存储 而64 – 16383 的数字只需要两个字节进行存储 16383 - 2^32 -1 的数字只需要用5个字节1个字节的标识加4个字节的值进行存储 String Encoding Redis的 String Encoding 是二进制安全的也就是说他没有任何特殊分隔符用于分隔各个值你可以在里面存储任何东西。它就是一串字节码。下面是 String Encoding 的三种类型 长度编码的字符串 数字替代字符串8位16位或者32位的数字 LZF 压缩的字符串 长度编码字符串 长度编码字符串是最简单的一种类型它由两部分组成一部分是用 “Length Encoding” 编码的字符串长度第二部分是具体的字节码。 数字替代字符串 上面说到过 Length Encoding 的特殊编码就在这里用上了。所以数字替代字符串是以 1 1 开头的然后读取这个字节剩下的6 位根据不同的值标识不同的数字类型 0 表示下面是一个8 位的数字 1 表示下面是一个16 位的数字 2 表示下面是一个32 位的数字 LZF压缩字符串 和数据替代字符串一样它也是以1 1 开头的然后剩下的6 位如果值为4那么就表示它是一个压缩字符串。压缩字符串解析规则如下 首先按 Length Encoding 规则读取压缩长度 clen 然后按 Length Encoding 规则读取非压缩长度 再读取第二个 clen 获取到上面的三个信息后再通过LZF算法解码后面clen长度的字节码 List Encoding Redis List 结构在RDB文件中的存储是依次存储List中的各个元素的。其结构如下 首先按 Length Encoding 读取这个List 的长度 size 然后读取 size个 String Encoding的值 然后再用这些读到的 size 个值重新构建 List就完成了 Set Encoding Set结构和List结构一样也是依次存储各个元素的 Sorted Set Encoding todo Hash Encoding 首先按 Length Encoding 读出hash 结构的大小 size 然后读取2×size 个 String Encoding的字符串因为一个hash项包括key和value两项 将上面读取到的2×size 个字符串解析为hash 和key 和 value 然后将上面的key value对存储到hash结构中

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

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

相关文章

泗县建设银行网站深圳建网站好的公司

目录 什么是 TCP 半连接队列和全连接队列? TCP 全连接队列溢出 如何知道应用程序的 TCP 全连接队列大小? 如何模拟 TCP 全连接队列溢出的场景? 全连接队列溢出会发生什么 ? 如何增大全连接队列呢 ? TCP 半连接队列溢出 如何查看 TC…

服务平台型网站wordpress文章只显示标题

背景 为了方便查看日志,项目中需要把日志保存到对应的日志文件中,所以需要当前的配置,以使得日志能够保存到对应的日志文件中。 代码 import ("github.com/orandin/lumberjackrus""github.com/sirupsen/logrus" )func …

织梦网站打开速度慢做网站不备案

目录 数据类型 Redis事务执行步骤 步骤: redis内存淘汰策略 设置内存淘汰策略 1.设置配置文件 2.通过命令设置 数据类型 官网解释 Understand Redis data types | Redis 首先,Redis 的所有键都是字符串,常用的数据类型有 5 种:Strin…

手机网站设计软件前端框架模板

目录 背景 驱动卸载 驱动安装 CUDA驱动安装 安装nvidia-smi 背景 这里包含显卡驱动和CUDA驱动,在如下场景下,我们需要卸载显卡驱动并重新安装。 在某些情况下需要对显卡驱动进行升级某些情况下(如重启,或者调整系统配置等&a…

专门做验收报告的网站编程培训机构需要哪些证件

首先到网上先下载PHPExcel下载后解压得到这两个文件下载后引用该文件最后编写相关代码:首先是图片插入导出$objDrawing new PHPExcel_Worksheet_Drawing();$objDrawing->setName(‘Photo‘);$objDrawing->setDescription(‘Photo‘);$objDrawing->setPath…

专业的门户网站建设方案设计灵感的网站

目前,世界各国都致力于转向更环保、更永续的传统交通替代方案。 电动车满足所有要求,因为它们具有零废气排放、改善空气品质、减少温室气体排放并创造更清洁、更健康的环境。此外,电动车的运作成本比传统内燃机驱动的汽车低,因为…

租号网站开发栖霞建设采购网站

文章目录一、Rem 布局适配1. 安装 amfe-flexible2. px转化rem3. 全局配置4. 重置样式表5. 引入重置样式表二、组件安装和配置与封装2.1. 安装less 预编译语言2.2. 安装vant-ui2.3. 端口自定义配置三、axios 工具封装3.1. 下载安装axios3.2. axios导入3.3. 创建axios 实例拦截器…

想采集某类型网站怎么做在硬盘里做网站

新换了一个项目组被人吐槽配置文件都能写错,所以打算从头开始一步步搭建一个项目,包含ssm基础框架、mongodb工具类、redis工具类、jsf配置、log配置等今天先来搭建一个web工程。工程搭建好运行时发现404我们都知道,一般404都是由于请求资源的…

深圳网站制作公司招聘镇海企业建站

缘由是:要转换的list里面的元素包含多维的tensor。c

做网站有哪些行业博客做单页网站

———————KX声卡驱动——————— 🎄声卡外观 🎄声卡介绍 🎈创新5.1 7.1声卡是网络直播,娱乐,唱歌,交友等一种音效内置声卡 🎄型号 🎈创新5.1内置声卡sb0060 0090 sn0105…

广州个性化网站开发网页设计论文提纲

虽说 HBuilder X 开发体验还算不错,但是有时候金窝银窝不如自己的狗窝,当我们习惯了 VSCode 之后,有时候不太愿意换开发工具。 那么怎么使用 VSCode 来开发 uniapp 呢? 其实是有办法的。 使用 HBuilder X 运行项目使用 VSCode 打…

用html做网站源代码做调查的网站

文末获取源码,项目编号: S 068 。 \color{red}{文末获取源码,项目编号:S068。} 文末获取源码,项目编号:S068。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课…

西安市免费做网站网站制作苏州企业

目录 一、介绍excel 二、应用场景:----可以完成什么操作 生活中遇见的场景 三、下载 四、excel模块 3.1、xlrd 语法: 案例: 算2020年与2021收入差距是多少 3.2、openpyxl 语法 案例1:计算一年的工资--12个月 案例2&…

音乐网站的音乐怎么做建设通网站原理

一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其划分为两类,基于…

大型营销型网站制作东莞设计网站企业

用正则表达式来处理掉内容中的特定字符,下面的代码为,去掉P标签中的属性width 设置。将P标签处理后在拼接成字符串/*** 给 P 标签去掉width 样式设置* param content* return*/public static String formatCodeP(String content){String regex "]*…

网站开发与设计总结绵阳做网站的有哪些

全球“碳达峰、碳中和”已成主流趋势,为了助力全球运营商绿色网络“双碳”行动计划的达成,在华为首届无线媒体沙龙上,华为无线网络SRAN产品线总裁马洪波发表了“绿色5G,E2四化八大方向,共赢双碳未来”主题演讲&#xf…

微山网站建设大连网站开发公司力推选仟亿科技

Python开发中字典和 json的概念区别: json.dumps( dict )    字典变为字符 json.loads( jsoninput )    字符变为字典 一、字典 字典是一种数据结构,而json是一种数据格式,格式就会有一些形式上的限制,比如json的格式要求必须且只能使…

扬州网站建设开发防红跳转短网址生成

从今天开始,我也加入博客园这个大家庭了,希望能和大家一起学习IT技术,共同进步。小弟初来乍到,望大家能多多关照!转载于:https://www.cnblogs.com/markwave/p/3227777.html

三亚学做网站培训哪个网站有做商标

在文章《从熵不变性看Attention的Scale操作》中,我们就从“集中注意力”的角度考察过Attention机制,当时我们以信息熵作为“集中程度”的度量,熵越低,表明Attention越有可能集中在某个token上。 但是,对于一般的Attent…

网站建设采取招标的方式网站建设培训学校

文章目录 主要内容一.SQL练习题1.1757-可回收且抵制的产品代码如下(示例): 2.584-寻找用户推荐人代码如下(示例): 3.595-大的国家代码如下(示例): 4.1148-文章浏览代码如下(示例): 5…