熟练掌握redis需要从 reids如何操作5种基本数据类型,redis如何集群,reids主从复制,redis哨兵机制redis持久化

reids主从复制 的作用可以:实现数据备份,读写分离,集群,高可用,宕机容错机制

今天记录一下redis如何完成主从复制

主从复制的概念:

1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。

2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。

注意:redis只支持一个主服务器,nginx支持多主多备

主从复制的执行过程实时性:

1 当一个从数据启动后,会向主数据库发送sync命令

2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。

4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

具体实现 主从复制的步骤:

1.克隆两个虚拟机作为从机


修改每个虚拟机的mac地址.

2.使用xshell工具连接从服务器:打开位于

/usr/local/redis/etc 的redis.conf 文件

找到 slaveof  和masterauth 配置文件内容

3.添加主机ip 端口,和密码:

4.分别启动(主从的) redis 服务

cd /usr/local/redis/bin ./redis-server /usr/local/redis/etc/redis.conf

5. 分别连接redis客户端 ./redis-cli -h 127.0.0.1 -p 6379 -a "redis123"

6.可以通过info命令 查看主从关系是否建立:

打开主服务器:

打开从服务器的info:

7 测试,在主服务器中存值,在从服务器中是否能取到,如果能取到 则完成配置:(从服务器是无法写入数据的)

8 重要的事情说三次,一定要记得 关闭防火墙,一定要记得 关闭防火墙,一定要记得 关闭防火墙(每个版本关闭防火墙用到的方式不一样),不然 即使建立好了关系 从服务器也无法从主服务器里面获取数据

此处命令可参考:https://blog.csdn.net/zzqtty/article/details/85246209

#安装iptables 
yum install iptables-services

一、iptables防火墙

1、基本操作

# 查看防火墙状态

service iptables status

# 停止防火墙

service iptables stop

# 启动防火墙

service iptables start

# 重启防火墙

service iptables restart

# 永久关闭防火墙

chkconfig iptables off

# 永久关闭后重启

chkconfig iptables on  

2、开启80端口

vim /etc/sysconfig/iptables
# 加入如下代码
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
保存退出后重启防火墙

service iptables restart
二、firewall防火墙
1、查看firewall服务状态

systemctl status firewalld

出现Active: active (running)切高亮显示则表示是启动状态。

出现 Active: inactive (dead)灰色表示停止,看单词也行。
2、查看firewall的状态

firewall-cmd --state
3、开启、重启、关闭、firewalld.service服务

# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
4、查看防火墙规则

firewall-cmd --list-all
5、查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

最新文章

  1. 最小生成树 prime poj1287
  2. APP测试要点
  3. AngularJS结合RequireJS做文件合并压缩的那些坑
  4. Sphinx扩展安装安装
  5. 跟着鸟哥学Linux系列笔记2-第10章VIM学习
  6. IPV6
  7. Linux 下 Shell 命令的分类及用法
  8. session 实现登录功能注意事项
  9. cocos2dx游戏开发——微信打飞机学习笔记(四)——GameScene的搭建
  10. 【python cookbook】【字符串与文本】6.以不区分大小写的方式对文本做查找和替换
  11. 越狱Season 1-Episode 13: End of the Tunnel
  12. sqlite3简单使用
  13. 如何在Linux桌面环境下自动启动程序?
  14. MySQL 5.6.19 二进制安装
  15. spring mvc 提交数组等复杂类型
  16. 怎样在Upstart机制下的系统中加入upstart事件型的任务
  17. 计算机网络之域名系统DNS
  18. 修改CUSTOM.PLL文件调用客户化FORM&修改标准FORM
  19. 实时ETL
  20. OSPFv3综合实验(GNS3)

热门文章

  1. idea中springboot项目程序入口右键不显示run as的原因
  2. 6、什么是TypeScript、TypeScript的安装、转换为.js文件
  3. learning makefile manner of working
  4. Java log4j
  5. Codeforces Round #281 (Div. 2) D(简单博弈)
  6. L333 Should You Listen to Music While You Work?
  7. 基于TCP的安卓服务器开发
  8. Js 基本类型和引用类型
  9. C++常见的概念
  10. mission 01