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

做相亲网站赚钱吗湖南正规关键词优化报价

做相亲网站赚钱吗,湖南正规关键词优化报价,seo外贸网站建设,崇文门网站建设Redis 入门到精通(九)-- 主从复制(1) 一、redis 主从复制 – 主从复制简介 1、互联网“三高”架构 高并发高性能高可用 2、你的“Redis”是否高可用? 1)单机 redis 的风险与问题 问题1.机器故障  现…

Redis 入门到精通(九)-- 主从复制(1)

一、redis 主从复制 – 主从复制简介

1、互联网“三高”架构

  • 高并发
  • 高性能
  • 高可用

2、你的“Redis”是否高可用?

1)单机 redis 的风险与问题

  • 问题1.机器故障
     现象:硬盘故障、系统崩溃
     本质:数据丢失,很可能对业务造成灾难性打击
     结论:基本上会放弃使用redis.

  • 问题2.容量瓶颈
     现象:内存不足,从16G升级到64G,从64G升级到128G,无限升级内存
     本质:穷,硬件条件跟不上
     结论:放弃使用 redis

2)为了避免单点 Redis 服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服
务器上,连接在一起,并保证数据是同步的。即使有其中一台服务器宕机,其他服务器依然可以继续
提供服务,实现 Redis 的高可用,同时实现数据冗余备份。

3、多台服务器连接方案

1)提供数据方:master

  • 主服务器,主节点,主库。
  • 主客户端。

2)接收数据方:slave

  • 从服务器,从节点,从库。
  • 从客户端。

3)需要解决的问题:数据同步。

4)核心工作:master 的数据复制到 slave 中。

60-多台服务器连接方案.png

4、redis 主从复制

1)主从复制即将master中的数据即时、有效的复制到 slave 中。

2)特征:一个master可以拥有多个slave,一个slave只对应一个master

3)职责:

  • master:
     写数据
     执行写操作时,将出现变化的数据自动同步到slave
     读数据(可忽略)
  • slave:
     读数据
     写数据(禁止)。

二、redis 主从复制 – 主从复制的作用

1、高可用集群

61-高可用集群.png

2、主从复制的作用

1)读写分离:master写、slave读,提高服务器的读写负载能力。 2)负载均衡:基于主从结构,配合读写分离,由slave分担master负载,并根据需求的变化,改变slave的数量,通过多个从节点分担数据读取负载,大大提高Redis服务器并发量与数据吞吐量。
3)故障恢复:当master出现问题时,由slave提供服务,实现快速的故障恢复。
4)数据冗余:实现数据热备份,是持久化之外的一种数据冗余方式。
5)高可用基石:基于主从复制,构建哨兵模式与集群,实现Redis的高可用方案。

三、redis 主从复制 – 主从复制的三个阶段

1、主从复制过程大体可以分为3个阶段

1)建立连接阶段(即准备阶段)。
2)数据同步阶段。
3)命令传播阶段。

2、主从复制的三个阶段示例图:

62-主从复制的三个阶段.png

四、redis 主从复制 – 工作流程(1)建立连接阶段

1、阶段一:建立连接阶段

建立 slave 到 master 的连接,使 master 能够识别 slave,并保存 slave 端口号。

2、建立连接阶段工作流程

步骤1:设置 master 的地址和端口,保存 master 信息。
步骤2:建立 socket 连接。
步骤3:发送 ping 命令(定时器任务)。
步骤4:身份验证。
步骤5:发送 slave 端口信息。
至此,主从连接成功!

63-建立连接阶段工作流程图.png

3、建立连接后的状态:

1)slave:保存 master 的地址与端口。
2)master:保存 slave 的端口。
3)总体:之间创建了连接的 socket。

五、redis 主从复制 – 搭建主从结构

1、主从连接(slave 连接 master):

1)方式一:客户端发送命令

slaveof <masterip> <masterport>

2)方式二:启动服务器参数

redis-server -slaveof <masterip> <masterport>

3)方式三:服务器配置

slaveof <masterip> <masterport>

4)slave 系统信息

  • master_link_down_since_seconds
  • masterhost
  • masterport

5)master 系统信息

  • slave_listening_port(多个)

2、主从断开连接:客户端发送命令

slaveof no one 

3、说明:

slave 断开连接后,不会删除已有数据,只是不再接受 master 发送的数据。

4、redis 实际操作演示–redis 搭建主从结构(打开2个服务端连接 6379-server 和 6380-server)


# 切换到 redis 安装目录 (6379-server 服务端)
cd /usr/local/redis/redis-4.0.0/# 查看 redis 服务是否后台启动成功:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# ps -ef | grep redis-# 杀死 redis 服务进程(如果已经启动 redis 服务,可以先停止服务,如:PID 1742)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# kill -s 9 1742# 修改 conf/redis-6379.conf 配置文件,改为前台启动(关闭守护进程),注释日志记录。
vim conf/redis-6379.conf# 保存以下内容即可:
port 6379
daemonize no
# logfile "6379.log"# redis 持久化 -- RDB 相关配置
# data 目录为新建目录(设置存储.rdb文件的路径)
dir /usr/local/redis/redis-4.0.0/data# 设置本地数据库文件名:
dbfilename dump-6379.rdb
# 设置存储至本地数据库时是否压缩数据
rdbcompression yes
# 设置是否进行 RDB 文件格式校验
rdbchecksum yes# save配置(每10秒有2次数据变化就自动保存)
save 10 2# 添加如下配置(AOF存储功能)
# 开启AOF持久化功能
appendonly yes
# AOF写数据策略(每次)
appendfsync always
# 设置文件名
appendfilename appendonly-6379.aof# 绑定主机地址: 
bind 127.0.0.1# 设置数据库数量: 
databases 16# 修改 conf/redis-6380.conf 配置文件,改为前台启动(关闭守护进程),注释日志记录。
vim conf/redis-6380.conf# 保底以下内容即可:
port 6380
daemonize no
# logfile "6380.log"
# data 目录为新建目录
dir /usr/local/redis/redis-4.0.0/data# 指定配置文件,启动 redis 服务 (6379-server 服务端)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-server conf/redis-6379.conf# 指定配置文件,启动 redis 服务 (6380-server 服务端)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-server conf/redis-6380.conf# 方式二:启动服务器参数:先关闭 6380-server 服务端
redis-server conf/redis-6380.conf --slaveof 127.0.0.1 6379# 方式三:服务器配置# 修改 conf/redis-6380.conf 配置文件,添加 服务器配置。
vim conf/redis-6380.conf# 保底以下内容即可:
port 6380
daemonize no
# logfile "6380.log"
# data 目录为新建目录
dir /usr/local/redis/redis-4.0.0/data
# 添加 服务器配置
slaveof 127.0.0.1 6379# 指定配置文件,重新 启动 redis 服务 (6380-server 服务端)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-server conf/redis-6380.conf

5、redis 实际操作演示–打开2个客户端连接(slave 客户端 和 master 客户端)


# 切换到 redis 安装目录 
root@WIN-20240529BJA:/home/djh# cd /usr/local/redis/redis-4.0.0/# 指定端口号,启动 redis 客户端(slave 客户端)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-cli -p 6380
127.0.0.1:6380> # 方式一:客户端发送命令:用 6380 客户端 连接 6379 客户端,
127.0.0.1:6380> slaveof 127.0.0.1 6379
OK# 指定端口号(默认连接6379,可不写端口号),启动 redis 客户端(master 客户端)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-cli
127.0.0.1:6379> # 创建数据(在 master 客户端)
127.0.0.1:6379> set name redis-master
OK# 获取数据(slave 客户端),获取成功,说明同步成功。
127.0.0.1:6380> get name
"redis-master"# 方式二:启动服务器参数:先关闭 6380-server 服务端,再带参数启动 6380-server 服务端,然后在客户端测试。# 创建数据(在 master 客户端)
127.0.0.1:6379> set age 33
OK# 获取数据(slave 客户端),获取成功,说明同步成功。
127.0.0.1:6380> get age
"33"# 方式三:服务器配置:先关闭 6380-server 服务端,修改 配置文件 redis-6380.conf 重启服务 测试。# 创建数据(在 master 客户端)
127.0.0.1:6379> set addr xian
OK# 获取数据(slave 客户端),获取成功,说明同步成功。
127.0.0.1:6380> get addr
"xian"# 查看 info 客户端 信息 (在 master 客户端)
127.0.0.1:6379> info # 查看 info 客户端 信息 (在 slave 客户端)
127.0.0.1:6380> info # 主从断开连接:客户端发送命令 slaveof no one #  断开连接(在 slave 客户端)
127.0.0.1:6380> slaveof no one
ok 
127.0.0.1:6380> # 创建新数据 (在 master 客户端)
127.0.0.1:6379> set name2 aaa666
ok 
127.0.0.1:6379> # 获取新数据 (在 slave 客户端)
127.0.0.1:6380> get name2 
(nil)
127.0.0.1:6380> 

6、授权访问

1) master 客户端发送命令设置密码

requirepass <password>

2) master 配置文件设置密码

config set requirepass <password>
config get requirepass

3)slave 客户端发送命令设置密码

auth <password>

4)slave 配置文件设置密码

masterauth <password>

5) slave 启动服务器设置密码

redis-server –a <password>

64-搭建主从结构-1.png

64-搭建主从结构-2.png

65-搭建主从结构-1.png

66-搭建主从结构-1.png

67-info.png

68-slaveof-no-one.png

六、redis 主从复制 – 工作流程(2)数据同步阶段(简)

1、阶段二:数据同步阶段工作流程

  • 在 slave 初次连接 master 后,复制 master 中的所有数据到 slave。
  • 将 slave 的数据库状态更新成 master 当前的数据库状态。

2、数据同步阶段工作流程

步骤1:请求同步数据
步骤2:创建 RDB 同步数据
步骤3:恢复 RDB 同步数据
步骤4:请求部分同步数据
步骤5:恢复部分同步数据
至此,数据同步工作完成!

69-数据同步阶段工作流程.png

3、状态:

1)slave:具有 master 端全部数据,包含 RDB 过程接收的数据。
2)master:保存 slave 当前数据同步的位置。
3)总体:之间完成了数据克隆。

上一节关联链接请点击:
# Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型

http://www.dinnco.com/news/14413.html

相关文章:

  • 做网站的出路360免费做网站
  • 网站建设代理多少钱邮件营销
  • 西宁做网站的好公司搜索引擎是网站吗
  • 湖南长大建设集团股份有限公司网站外贸公司如何做推广
  • 营销型企业网站建设google搜索引擎下载
  • vs2008网站消息弹窗怎么做百度seo排名优化软件分类
  • 松原市建设局网站福建seo排名
  • 哪里有学视频剪辑培训的网页搜索优化seo
  • 按钮特效网站免费ip地址代理
  • 做的最好的视频教学网站seo营销服务
  • 手机网站开发如何设置触摸功能淘宝指数查询工具
  • 网站移动端权重怎么做网站如何被搜索引擎收录
  • 专业企业建站系统关键词智能优化排名
  • 武汉网页设计与网站建设推广普通话的意义50字
  • 公司网站怎么做才能有官网二字安徽网站设计
  • 专门做正品的网站有哪些病毒式营销方法
  • 网站建设的背景及意义合肥关键词排名工具
  • 西安网站建设哪里好成都竞价托管多少钱
  • ps做简洁大气网站百度seo可能消失
  • 做网站的预算表网站推广的方法和途径
  • 求购做网站河南品牌网站建设
  • 手机wap版网站制作网站建设推广
  • wordpress刷留言襄阳seo
  • 建站价格会差重庆seo管理平台
  • 自己做网站用买域名吗南阳seo优化
  • 做自己的免费网站专业网站seo推广
  • 邯郸网站制作个人seo网络推广培训
  • 网站手机css模板什么是软文写作
  • 北京电商购物网站开发seoul什么意思
  • 燕郊网站建设哪家好seo排名工具给您好的建议