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

为校园网站建设提供天坛整装体验馆地址

为校园网站建设提供,天坛整装体验馆地址,阿里建站模板,中企动力做的网站后台如何登陆Redis 内核级请求处理流程 Redis Server 其实就是 Linux 服务器中的一个进程 主要还是下图的流程 应用先和 server 端建立 TCP 连接建立连接之后#xff0c;server 端就会有一个与该客户端通信的 socket#xff0c;客户端的读写请求发送到服务端的 socket那么通过 IO 多路…Redis 内核级请求处理流程 Redis Server 其实就是 Linux 服务器中的一个进程 主要还是下图的流程 应用先和 server 端建立 TCP 连接建立连接之后server 端就会有一个与该客户端通信的 socket客户端的读写请求发送到服务端的 socket那么通过 IO 多路复用收到读写请求的 socket 会到队列中排队等待处理由文件事件分发器将事件分发给对应的命令请求处理器server 端内部也是有一个 Redis Client 的由这个 Client 来处理对数据的操作这个 Client 有一个输入缓冲区和输出缓冲区先将读写命令写入输入缓冲区再去找到对应的 Redis Command 也就是查找到对应的命令之后就去操作内存中的数据操作后将操作结果写入输出缓冲区中最终命令请求处理器将输出缓冲区中的响应结果通过 Socket 发送给客户端 Redis 数据传输协议 参考文章https://redis.com.cn/topics/protocol.html Redis客户端和服务器端通信使用名为 RESP (REdis Serialization Protocol) 的协议。虽然这个协议是专门为Redis设计的它也可以用在其它 client-server 通信模式的软件上。 该协议用于 Redis 客户端和服务端之间进行通信 RESP 协议格式 单行字符串Simple Strings 响应的首字节是 错误Errors 响应的首字节是 -整型Integers 响应的首字节是:多行字符串Bulk Strings 响应的首字节是 $数组Arrays响应的首字节是 * RESP 协议的每一个部分都是以 \r\n 结束也就是换行结束 AOF 持久化文件中存储的数据也是 RESP 协议的数据格式。 RESP 协议优点 实现简单容易解析 redis 的 set key value 命令转为 RESP 协议数据如下 *3 $3 SET $3 key $5 valueRESP 是二进制安全的因为使用了前缀长度来传输大量数据因此不需要去检查内容中是否存在特殊字符 Redis 内核中的请求数据结构 Redis 协议说明文档http://www.redis.cn/topics/protocol.html # *3 表示有 3 个命令字符串 # $3 表示长度 # \r\n 也就是换行操作 *3\r\n$3\r\nSET\r\n$3\r\nkey\r\j$5\r\nvalue\r\n# 把\r\n翻译成换行数据就为下边这个样子 *3 $3 SET $3 key $5 value对于 set key value 命令来说通过协议组织成上边的数据那么从 client 端发送到 server 需要序列化成字节数据流之后再通过 socket 进行传输server 端收到字节流数据之后会进行反序列化将字节流数据转为了 *3\r\n$3\r\nSET\r\n$3\r\nkey\r\j$5\r\nvalue\r\n这个数据就会被放到 server 端的 RedisClient 的输入缓冲区中 那么这个协议数据在 server 中的 Redis Client 中就会被解析成 argv 的一个参数也就是具体的命令如下图 那么在 argv 中就解析出来了真正需要执行的命令了下一步就要执行对应的命令了 Redis 内核中命令函数的查找 在 Redis Server 中将所有的命令都放在了一个命令查找表中那么在上边的 argv 中拿到了命令的名称就可以去命令查找表中去查找对应的 RedisCommand在 Redis Client 的输入缓冲区中有一个变量 cmd 就会去指向该命令所对应的 RedisCommand之后就可以真正的去调用命令函数来操作 Redis 中的内存数据结构之后将操作的结果还是按照 Redis 的协议给放入到 Redis Client 的输出缓冲区中之后就可以通过 Socket 将结果返回给客户端了 Redis Server 启动流程分析 Redis 我们作为缓存使用比较多 其实 Redis 本质上是一个基于内存的 Nosql 数据存储服务只是因为 Redis 是基于内存进行操作比较快所以我们用来做缓存 那么 Redis Server 基于内存操作如果 Redis 重启之后内存中的数据就会丢失所以 Redis 还需要进行持久化的一个操作 那么持久化就分为了 RDB 和 AOFRDB 的话是周期性将内存中的全量数据都给复制到磁盘中存储文件为压缩的二进制文件适合做数据的冷备份放到其他服务器的磁盘上去如果当前服务器磁盘损坏就可以从其他服务器读取该 RDB 文件恢复 Redis 中的内存数据 一般使用 AOF 来做数据的持久化用 RDB 做一个周期性的冷备份 AOF 将内存数据同步到磁盘中一般采用每秒同步一次如果同步频率过高就会导致 Redis 性能退化当 Redis 突然宕机可能会丢失 1s 内的内存数据那么在 redis-server 进程重启时就会把磁盘存储的 aof 文件的数据给读取到内存中还原 Redis 上次运行时的内存情况 Redis 为什么需要分布式集群模式 单台 Redis 瓶颈在哪里 在于内存每一台机器的内存是有限的所以如果数据量很大的情况下一台 Redis 就不够用了因此需要分布式集群模式 在分布式集群模式中就可以让每一个节点存储一部分的数据来降低内存容量对于 Redis 的影响 Redis 分布式集群模式下内核中的数据结构 Redis Server 在分布式模式下需要存储哪些内容的 主要是存储集群的状态state以及集群中的节点nodes以及当前节点的一个角色myself
http://www.w-s-a.com/news/73569/

相关文章:

  • 免费做网站怎么做网站想在网上卖东西怎么注册
  • 淘宝网站建设的策划书网投怎么做网站
  • 如何免费做公司网站视频网站开发视频
  • 网站后台是怎么更新wordpress 大于2m的xm
  • 制作网页设计软件列表案例营销网站优化seo
  • 住房和建设建设局网站报告长官夫人在捉鬼
  • 用asp做网站需要什么软件天津建设工程信息网怎么注册
  • 一站式服务图片北京网站优化多少钱
  • 专业的论坛网站建设全网加速器
  • 成都品牌建设网站公司表单制作小程序
  • 手机端 网站 模板网页广告关不掉怎么办
  • 软装公司网站建设有没有做任务的网站
  • 加盟招商网站建设工业设计网站 知乎
  • 怎么做淘宝客网站优化免费windows7云主机
  • 有什么网站可以推广信息沈阳网站建设思路
  • 网站建设可研域名解析在线工具
  • 鲜花销售网站模板wordpress+模版+推荐
  • 企业网站报价网站域名 没有续费
  • 机关门户网站建设管理情况邮箱登陆嵌入网站
  • 创建网站超市网站建设后还有什么费用
  • 徐州泉山区建设局网站企业网站注册官网
  • 西青网站建设暴雪回归
  • 如何生成网站建设局建筑电工证查询网站
  • 网站改版建设原则网站网站建设公司上海
  • 网站推广见效快的方法深圳高端网站建设网页设计
  • 建设银行官网首页网站购纪念币接做网站需要问什么条件
  • 网站的ftp地址是什么江苏做网站
  • 宁波网站建设制作公司哪家好潍坊建公司网站
  • 云端网站建设php7 wordpress速度
  • 建站的公司中小企业网站建设报告