人类易读,
采用这种协议原因是 redis是高性能内存数据库,需要尽可能的减少不必要的计算量及时间,而http是比较复杂的协议;
RESP协议只用于 redis客户端与服务端之间的交流;
协议工作流程(...以客户端发送一个命令为例):
客户端:原始命令->RESP编码->传输
服务端:接收->RESP解码->原始命令
redis高性能的原因
redis是纯内存的操作,性能瓶颈不在cpu上(因为其不读取硬盘数据...socket发送给客户端;
优点
单线程操作,方便管理,没有锁的困扰;
缺点
所有业务操作都在一个线程中执行,如果一个连接的操作耗时较长会导致 所有连接响应延迟;但redis没此问题,因为其是内存操作,...socket中的命令,然后执行;
写事件: redis服务端将命令执行结果 写入socket文件返回给客户端;
当与同一个客户端的socket 读事件 和写事件同时发生时,先执行读事件;
时间事件
在指定时间点运行的事件...功能如下
更新服务器各种统计信息,比如时间,内存占用,数据库占用情况
清理数据库中过期的键值对
关闭和清理连接失效的客户端
尝试进行AOF,RDB 持久化操作
如果服务器是主节点,则对附属节点进行同步数据