公司目前在项目中大规模依赖使用Redis缓存,于是我开始了解公司内部对于Redis的实际使用状况.

一. Redis服务器结构图

在线上环境中,Redis分主节点和从节点,主节点目前承载读写,从节点只负责同步备份主节点数据,一个Redis组的主备关系图如下:

每两台Redis互为一组单元,两台机器内部通过不同的redis进程互为主备,这里的数据存储元数量和主节点相同,从节点只负责同步数据.

二. Redis服务器承载用户请求

Redis主从组中,主节点负责承载一切读写操作,从节点通过SYNC机制同步主节点的数据,相关数据流程如下图:

在PHP脚本中操作Redis时,现在的PHP框架会把命令中的key值进行哈希计算并进行分槽选择服务器,分槽选择的域名通过公司的DNS域名服务器把读写操作负载到不同的Redis主从组的主节点上.

文档更新时间: 2019-01-04 10:03   作者:李彪