Redis 服务器及客户端流程

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: <div class="markdown_views"><h3 id="服务器流程">服务器流程</h3><ol><li><p>初始化全局</p><ul><li>创建一个RedisServer的结构,并且赋给默认值</li><li>配置:端口,AOF选项,数据库个数,连接数等等</li><li>基本数据结构,比如订阅发布的结构</li><li>事件状态 <

服务器流程

  1. 初始化全局

    • 创建一个RedisServer的结构,并且赋给默认值
    • 配置:端口,AOF选项,数据库个数,连接数等等
    • 基本数据结构,比如订阅发布的结构
    • 事件状态
    • 连接的客户端状态
    • Lua脚本运行环境
  2. 载入配置文件

    • 载入配置文件,主要是对上面全剧终的配置部分进行设定
  3. 创建daemon进程
    默认Redis是以后台线程启动的
  4. 初始化功能模块
    被初始化的主要功能模块:
    • 日志
    • 订阅发布
    • Lua脚本
    • 事件处理
    • 客户端处理
    • 完成这一步打印LOGO版本信息
  5. 载入数据
    用AOF或者RDB载入数据,这一步打印:DB loaded from disk
  6. 开始事件循环
    开始接受事件,完成这一步打印:The server is now ready to accept connections on port

客户端流程

为每个已连接的客户端维持一个RedisClient的结构主要包含如下信息:

  • 正在使用的数据库
  • 查询和回复缓存
  • 事务相关的数据结构
  • 阻塞相关的数据结构
  • 订阅发布相关的数据结构
  • 命令集指针
  • 统计选项

客户端执行一个命令的流程如下:

  • 通过Socket发送请求协议
  • Server通过读事件接受请求,且存入查询缓存
  • 从命令表找到相应的命令实现
  • 执行命令,且把执行结果存入到响应缓存中
  • 客户端写事件就绪的时候把相应缓存中的数据传回客户端
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
13天前
|
弹性计算 安全 网络安全
阿里云服务器四种常见购买方式适用对象与购买流程参考
阿里云服务器有多种购买方式,不同的方式适合对象与购买流程不一样,常见的购买方式有自定义购买、一键购买、云市场购买和通过活动购买四种方式。本文为大家介绍这四种方式的区别、适合对象以及详细的流程,以供参考和选择。
|
26天前
|
存储 SQL NoSQL
|
1月前
|
弹性计算 安全 网络安全
阿里云服务器租用流程,四种阿里云服务器租用方式图文教程参考
阿里云服务器可以通过自定义租用、一键租用、云市场租用和活动租用四种方式去租用,不同的租用方式适合不同的用户群体,例如我们只是想租用一款配置较低且可以快速部署应用的云服务器,通常可以选择一键租用或者云市场租用,本文为大家展示不同租用方式的适合对象以及租用流程,以供初次租用阿里云服务器的用户参考和选择。下面是阿里云服务器租用的图文操作步骤。
|
2月前
|
NoSQL 网络协议 算法
Redis 客户端连接
10月更文挑战第21天
33 1
|
2月前
|
NoSQL Linux PHP
|
2月前
|
NoSQL Unix Linux
Redis 服务器
10月更文挑战第19天
25 1
|
2月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
2月前
|
监控 安全 Java
linux服务器上启动framework应用程序流程
【10月更文挑战第17天】在Linux服务器上启动Framework应用程序需经过准备工作、部署、启动、监控及访问五个步骤。首先确保服务器满足系统要求并安装依赖项;接着上传应用文件,编译构建,配置参数;然后通过脚本、命令行或系统服务启动应用;启动后检查日志,监控性能;最后确认访问地址,验证应用运行状态。具体操作应参照应用文档。
|
2月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
31 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
2月前
|
安全 区块链 数据库
下一篇
无影云桌面