校验和

5-Redis 的持久化之 RDB

孤者浪人 提交于 2020-02-12 21:14:02
2016-12-22 13:58:48 该系列文章链接 NoSQL 数据库简介 Redis的安装及及一些杂项基础知识 Redis 的常用五大数据类型(key,string,hash,list,set,zset) Redis 配置文件介绍 Redis 持久化之RDB Redis 持久化之AOF Redis 主从复制 Redis 事务 Redis 发布与订阅 Redis jdedis 介绍 redis 作为缓存的优秀数据库,也提供了将缓存中的数据写入到硬盘的手段。 有两种:一种是 RDB,另一种则是 AOF,本篇文章介绍 RDB。 1.RDB 简介 RDB:redis database 定义:在指定的时间间隔内将内存中的数据集快照写入到硬盘中,也就是 snapshot 快照,它恢复时是将快照文件直接读取到内存中 2.RDB 持久化过程 简单来说,就是 redis 会单独创建(fork)一个子进程来进行持久化,先将数据写入到硬盘中的一个临时文件中,等到持久化过程结束,就用这个临时文件替换上次持久化好的文件。 整个过程中,主进程不进行任何与之相关的IO操作,这就确保了 redis 的极高性能 那么:什么叫 fork? redis 会复制一个与当前进程一样的进程。新进程的所有数据(eg:程序计数器)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程 3.RDB 在 redis

Redis学习笔记六:独立功能之 Lua 脚本

丶灬走出姿态 提交于 2020-02-12 09:23:30
Redis 2.6 开始支持 Lua 脚本,通过在服务器环境嵌入 Lua 环境,Redis 客户端中可以原子地执行多个 Redis 命令。 使用 eval 命令可以直接对输入的脚本求值: 127.0.0.1:6379> eval 'return "liushijie"' 0 "liushijie" 使用 evalsha 命令则可以根据脚本的 sha1 校验和对脚本进行求值,但是这个命令至少被 eval 命令执行过一次或被 script load 命令载入过。 创建并载入 Lua 环境 为了在 Redis 服务器中执行 Lua 脚本,Redis 在服务器内嵌了一个 Lua 环境,并对这个环境进行了一系列的修改,从而确保 Lua 环境可以满足 Redis 服务器的需要。这个过程由以下步骤组成: 创建一个基础的 Lua 环境。 载入多个函数库到 Lua 环境里。让 Lua 脚本可以使用这些函数库来进行数据操作。 创建全局表格 redis,这个表格包含了对 Redis 进行操作的函数,从而避免在脚本中引入副作用。 使用 Redis 自带的随机函数来替换 Lua 原有的带有副作用的随机函数。 创建排序辅助函数,Lua 环境使用这个辅助函数来对一部分 Redis 命令的结果进行排序,从而消除这些命令的不确定性。 创建 redis.pcall 函数的错误报告辅助函数

传输层

两盒软妹~` 提交于 2020-02-10 16:38:24
一.目录 传输层服务的基本理论与基本机制 复用/分用技术 可靠数据传输 流量控制机制 拥塞控制机制 Internet传输层协议 UDP TCP TCP拥塞控制 二.概述 传输层为运行在不同主机上的 进程 提供了 逻辑通信机制 发送方:将应用层提交的消息分成一个或多个segment,并向下传给网络层 接收方:将接收到的segment组装成消息,并向上交给应用层 三.UDP(User Datagram Protocol) 特性 基于IP协议(复用/分用,有简单的错误校验) Best effort服务(可能丢失,非按序到达) 无连接(无需握手) 优点 无需建立连接(减少延迟) 实现简单(无需维护连接状态) 头部开销少 没有拥塞控制(应用可更好的控制发送时间及速率) 用处 常用于流媒体应用(容忍丢失,速率敏感) 用于DNS,SNMP 报文结构 报文结构在图中比较清楚 长度(length):UDP段的长度,包括了头部 校验和(checksum):用于差错校验 checksum 目的 检测UDP段在传输中是否发生位错误 算法 伪首部 伪首部是为了计算校验和,临时添加在UDP数据报前面,不向下传送,也不向上递交。共12个byte 源IP地址(4byte) 目标IP地址(4byte) 全0(1byte) IP首部中的协议字段值,对于UDP来说是17(1byte) UDP数据报长度(2byte)

TCP和UDP头部格式的了解?

▼魔方 西西 提交于 2020-02-07 09:37:49
tcp头部格式如下图所示: 1.源端口号,16位,发送方的端口号。 2.目标端口号,16位,发送方的目标端口号。 3. 32为序列号,sequence number,保证网络传输数据的顺序性。 4. 32位确认号,acknowledgment number,用来确认确实有收到相关封包,内容表示期望收到下一个报文的序列号,用来解决丢包的问题。 5. 头部大小,4位,偏移量:最大值为0x0F,即15, 单位为32位(bit),单位也就是4个字节,给出头部占32bit的数目。没有任何选项字段的TCP头部长度为20字节;最多可以有60(15*4)字节的TCP头部。 6. Reserved 4位 ,预留字段,都为0 7. TCP标志位 (1)CWR:Congestion window reduced,拥塞窗口减少。拥塞窗口减少标志被发送主机设置,用来表明它接收到了设置ECE标志的TCP包。拥塞窗口是被TCP维护的一个内部变量,用来管理发送窗口大小。 (2)ECN-Echo:显式拥塞提醒回应。当一个IP包的ECN域被路由器设置为11时,接收端而非发送端被通知路径上发生了拥塞。ECN使用TCP头部来告知发送端网络正在经历拥塞,并且告知接收端发送段已经受到了接收端发来的拥塞通告,已经降低了发送速率。 (3)URG:为1时,紧急指针(urgent pointer)有效,配合紧急指针使用 (4)ACK

XModem协议

女生的网名这么多〃 提交于 2020-02-06 21:12:07
XModem协议介绍: XModem是一种在串口通信中广泛使用的异步文件传输协议,分为XModem和1k-XModem协议两种,前者使用128字节的数据块,后者使用1024字节即1k字节的数据块。 一、XModem校验和协议 1. XModem信息包格式 XModem协议最早由Ward Christensen在20世纪70年代提出并实现的,传输数据单位为信息包,信息包格式如下: --------------------------------------------------------------------------- | Byte1 | Byte2 | Byte3 |Byte4~Byte131| Byte132 | |-------------------------------------------------------------------------| |Start Of Header|Packet Number|~(Packet Number)| Packet Data | Check Sum | --------------------------------------------------------------------------- 2. 校验和的计算 所有的数据字节都将参与和运算,由于校验和只占一个字节

s19文件格式详解

十年热恋 提交于 2020-02-04 22:52:12
1.概述 为了在不同的计算机平台之间传输程序代码和数据,摩托罗拉将程序和数据文件以一种可打印的格式(ASCII格式)编码成s格式文件。s格式文件是Freescale推荐使用的标准文件传送格式。编译完成之后,FreescaleCodeWarrior编译器将在bin文件夹下自动生成“*.abs.s19”文件,这个文件包含最终下载带单片机中的所有内容。 2. 格式定义及含义 S格式文件中的每一行称为一个S记录,每个S记录由记录类型、记录长度、存储地址、代码/数据、校验和5个部分组成。 每字节数据被编码成2个16进制字符,第一个字符代表数据的高四位,第二个字符代表数据的低4位。 5个部分具体内容如下: 记录类型 记录长度 存储地址 代码/数据 校验和 记录类型:2个字符(即1个字节),用来描述记录的类型。记录供定义了8种类型: S0:S格式文件的第一个记录,表示文件名(含路径),存储地址部分没有使用,以0000置位。此记录表示记录的开始,无需下载到MCU。 S1: 地址为2字节(4个字符)的记录。 S2: 地址为3字节的记录。 S3: 地址为4字节的记录。 S5: 标记本文件的S1、S2、S3记录的个数(此记录不是一个S文件所必须的)。 S7: 地为4字节,表示程序的开始执行地址,代码/数据部分没有被使用,此行表示程序的结束,无需下载到MCU。 S8: 地为3字节,表示程序的开始执行地址

理解面向连接和无连接协议之间的区别

*爱你&永不变心* 提交于 2020-02-02 15:56:36
理解面向连接和无连接协议之间的区别 网络编程中最基本的概念就是面向连接( connection-oriented )和无连接( connectionless )协议。 面向连接和无连接指的都是协议。也就是说,这些术语指的并不是无理介质本身,而是用来说明如何在物理介质上传输数据。面向连接和无连接协议可以,而且通常也确实会共享一条物理介质。 它们的本质区别在于,对无连接协议来说,每个分组的处理信息都独立于所有其他分组,而对面向连接的协议来说,协议实现则维护了与后继分组有关的状态信息。 无连接协议中的分组被称为 数据报 ( datagram ),每个分组都是独立寻址。 面向连接的协议则维护了分组之间的状态,使用这种协议的应用程序通常都会进行长时间的对话。记住这些状态,协议就可以提供可靠的传输。 典型的面向连接协议有三个阶段。第一阶段,在对等实体间建立连接。接下来是数据传输阶段,在这个阶段中,数据在对等实体间传输。最后,当对等实体完成数据传输时,连接被拆除。 连接为我们维护的状态中包含了这些地址。我们只要发送数据就行了,不需要考虑寻址或其他与协议相关的数据。 使用无连接协议可以很方便地支持一对多和多对一通信,而面向连接协议通常都需要多个独立的连接才能做到。但更重要的是,无连接协议 是构建面向连接协议 的基础。 TCP 和 UDP 都是建立在 IP 之上的。因此, IP 是构建整个 TCP

7.3传(运)输层

时光怂恿深爱的人放手 提交于 2020-01-31 05:46:24
引入传输层的原因: 消除网络层的不可靠性; 向上层屏蔽通信子网的实现细节 弥补上次提出要求和下层提供服务间的差异 资源子网 传输层 通信子网 传输层的作用范围 提供从源端主机到目的端主机的可靠传输。主机进程间(进程端口到进程端口)的通信,IP协议考虑的是协议。 应用进程之间的通信: 运输层提供进程级的访问能力 两个主机进行通信实际上就是两个主机中的应用进程互相通信 应用进程之间的通信又称为端到端的通信 运输层的另一个重要功能就是复用和分用 传输服务 传输实体:完成传输层功能的硬软件; 传输层实体利用网络层提供的服务向高层提供有效、可靠的服务,用服务质量QoS来衡量; 传输层提供两种服务 面向连接的传输服务:连接建立,数据传输,连接释放; 无连接的传输服务:不可靠的传输。 Internet传输协议 传输服务原语 传输服务的要素 寻址方法:定义传输服务访问点TSAP,将应用进程与这些TSAP相连。 在Internet中,TSAP内容如下: (IP address, local port) **服务访问点TSAP: 传输层常用端口号 远方客户程序如何获得服务程序的TSAP? TSAP(Transport Service Access Point) 传输服务访问点 方法1:预先约定、广为人知的(Well-known),比如telnet是(IP地址,端口23); 方法2:从名字服务器

IPv4数据报格式及其语义

断了今生、忘了曾经 提交于 2020-01-22 16:16:09
一、IP数据报的格式如下图所示 版本 首部长度 服务类型 数据报长度 16比特标识 标志 13比特片偏移 寿命 上层协议 首部检验和 32比特源IP地址 32比特目的IP地址 选项(如果有的话) 数据 IPv4数据报格式 二、各部分语义 1) 版本 (号):4bit,规定了数据包的IP协议版本;通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分 2) 首部长度: 因为IPV4数据报可包含一些可变数量的选项,所以需要用这4bit来确定首部的长度,以确定IP数据报的数据部分实际从哪里开始。大多数IP数据报不包含选项,所以一般IP数据报具有20字节的首部 3) 服务类型: 8bit,服务类型包含在首部中以使不同类型的IP数据报能相互区分开来,例如,将实时数据报(如用于IP电话应用)与非实时流量(如FTP)区分开来也许是有用,提供特定等级的服务是一个由路由器管理员决定的策略问题 4) 数据报长度 :这是IP数据报的总长度(首部加上数据),以字节计,因为该字段长为16bit,所以IP数据报的理论最大长度为65535字节,然而数据报很少有超过1500字节的 (因为IP数据还要靠数据链路层运输的,而链路层帧能承载的最大数据量为叫做最大运输单元(Maximum Transmission Unit,MTU)) 5) 标识、标志、片偏移:    要理解这三个内容,要先理解一些其他知识   (1

计算机网络知识点整理

别说谁变了你拦得住时间么 提交于 2020-01-18 06:54:19
(更新中) 参考书:《计算机网络自顶向下方法 原书第七版》 第一章 计算机网络和因特网 1、什么是协议? 协议(protocol) ,定义了在两个或多个通信实体间 传输报文的格式和顺序 ,以及 报文发送和/或接收一条报文或其他事件所采取的动作 。 2、什么是网络边缘,常用设备有哪些? 与因特网相连的计算机和其他设备称为端系统 例如: 桌面计算机 服务器 移动计算机。 3、常用家庭接入方式有哪些,企业和移动接入方式有哪些? 家庭接入 : DSL(用户数字线) 电缆 FTTH(光纤到户) 拨号 卫星 企业接入 以太网 WIFI 移动接入 3G LTE(长期演进) 4、导引型物理传输媒体有哪些?非导引型物理传输媒体有哪些? 导引型物理传输媒体 双绞铜线 同轴电缆 光纤 非导引型物理传输媒体 陆地无线电信道 卫星无线电信道 5、什么是网络核心?网络核心通常设备有哪些? 互联因特网 端系统的分组交换机和链路构成的网状网络 。 网络核心通常设备有 路由器(Route) 和 链路层交换机(link-layer switch) 。 6、简单描述存储转发传输机制? 传输当前分组时,需要完全的接收到分组,才能把该分组推向数据链路。 7、网络中数据交换的两种基本方式时什么? 分组交换 电路交换 。 8、电路交换中的复用方式有哪些?分组交换和电路交换的对比? 复用方式: 频分复用 和 时分复用 。