redis主从复制 从而 数据备份和读写分离
蜗牛Redis系列文章目录http://www.cnblogs.com/tdws/tag/NoSql/
爬虫转载注明地址本文地址—博客园蜗牛 http://www.cnblogs.com/tdws/p/5705782.html
云服务器过期了,这次测试就放在本地(127.0.0.1)。三个redis客户端,端口分别为6379,6380,6381。
首先将你的redis复制三份(我使用的是redis3.2.1),如果你下载不到,可以留下邮箱或者给我私信。
首先打开cmd,用cd找到你的redis文件夹,我的操作是
在你的第一个redis客户端文件夹配置文件中,搜索port,找到如下位置

端口号设置为6379(默认的。后面一个,两个或者多个客户端分别修改为你想使用的端口号,我这里使用6380,6381)



这样一来,6379的rendi客户端已经启动。后面的客户端只需要你修改配置文件中的端口号后,以同样的方式打开redis。
下面打开你每个redis所对应的客户端操作控制台,开启新cmd,切换到你需要的盘符下面,方式如下。

这样一来 redis客户端操作控制台已经启动,我们可以正常操作set get flushdb save等。
当然其他两个端口端口的redis操作控制台也这样启动,不过把你的端口号修改为你所对应的。
下面我将对6379作为master主节点,6380,6381为slave从节点。
那么测试操作过程如下:
首先flushall,确保清空缓存,接下来set三条数据并使用keys *命令来查看当前所有key val

下面,我们来手动让6380端口的redis来作为6379的从节点,操作如下:

使用slaveof命令来达到目的。当然在这样的命令下,redis挂掉后,他们的主从关系就不存在了,稍后会讲到如何永久确定主从关系。
我们还是先来测试一下数据是否同步过来了。

依然使用keys *命令,我们可以看到结果。主从同步数据成功。那么6381端口同步也是一样的。
现在我在master 6379添加数据后来查看从节点的内容。

从节点中再次使用keys *命令查看:

可以看到6380已同步master节点的数据。
下面我们在尝试一项操作:

我试图在从节点中set值,提示从服务器是只读的。不过我们可以在从节点中操作save,这也算是一种redis数据备份吧。
既然这样了,我们的主从复制已经配置结束。实现读写分离的原理也正是如此,在多个从服务器中读取数据,在master中操纵数据。
不过我认为这在普通场景中根本用不到,除非写量相对少,而读取量特别的,我们才选择读写分离。
还有最后要说设置永久主从关系的方法就是,你在从节点的配置文件中,搜索slaveof关键字找到:

做如上配置,每当你重启redis服务,自动同步所有数据。
普通配置策略情况下,主挂从全挂,当然我们也有办法来解决这个问题。
下一篇 Redis并发锁 http://www.cnblogs.com/tdws/p/5712835.html
有任何疑问和建议欢迎交流。
如果我的点滴分享对您有点低帮助,欢迎点击下方红色关注,我将持续分享,共同进步
redis主从复制 从而 数据备份和读写分离的更多相关文章
- redis主从配置 从而实现数据备份和读写分离
首先打开cmd,用cd找到你的redis文件夹,我的操作是 在你的第一个redis客户端文件夹配置文件中,搜索port,找到如下位置 端口号设置为6379(默认的.后面一个,两个或者多个客户端分别修改 ...
- 在 Istio 中实现 Redis 集群的数据分片、读写分离和流量镜像
Redis 是一个高性能的 key-value 存储系统,被广泛用于微服务架构中.如果我们想要使用 Redis 集群模式提供的高级特性,则需要对客户端代码进行改动,这带来了应用升级和维护的一些困难.利 ...
- MySQL主从复制配置指导及PHP读写分离源码分析
开发环境 master环境:ubuntu16.04.5LTS/i5/8G/500G/64位/mysql5.7.23/php7/apache2 slave环境:kvm虚拟机/ubuntu14.04.01 ...
- Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived
文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...
- redis 作为 mysql的缓存服务器(读写分离)
redis 作为 mysql的缓存服务器(读写分离) 一.redis简介 Redis是一个key-value存储系统.和Memcached类似,为了保证效率,数据都是缓存在内存中.区别的是redis会 ...
- redis作为mysql的缓存服务器(读写分离,通过mysql触发器实现数据同步)
一.redis简介Redis是一个key-value存储系统.和Memcached类似,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录 ...
- 一个适合变化的产品部署集成包(nginx+jdk+tomcat+nodejs+mysql+redis+mongo+MYSQL主主(读写分离)集群建立+代码包+持续上线+备份)
一.前言 最近公司做了一套新产品,需要发布到不确定的硬件环境中(不同使用单位规模,使用人数,服务器提供的资源不同)若每次进行人工部署耗时费力,周期过长. 二.分析 具体的部署流程如下: 由上图流程进行 ...
- Linux下Mysql主从复制(Master-Slave)与读写分离(Amoeba)实践
一.为什么要做Mysql的主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻 ...
- Centos下Redis集群的搭建实现读写分离
Centos下Redis一主多从架构搭建 搭建目标:因为自己笔记本电脑配置较低的原因,模拟两台机器之间搭建一主一从的架构,主节点Redis主要用来写数据,数据写入到主节点的Redis,然后从节点就可以 ...
随机推荐
- HTML5- Canvas入门(六)
已经第六章了,也差不多接近尾声,如果你从第一章耐心follow到本章结束,那你便能掌握canvas的大部分知识点(当然如果要精通,还是得多靠练习,做一些小案例). 今天我们要学习的是canvas的变形 ...
- Lesson 10 Not for jazz
Text We have an old musical instrument. It is called a clavichord. It was made in Germany in 1681. O ...
- CI-持续集成(1)-软件工业“流水线”概述
CI-持续集成(1)-软件工业“流水线”概述 1 概述 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次, ...
- SQL Azure (18) 使用External Table实现垮库查询
<Windows Azure Platform 系列文章目录> 问题 1.我们在进行SQL Server开发的时候,经常会使用垮库查询.但是在默认情况下,使用Azure SQL Datab ...
- 如何使用Worktile进行敏捷项目开发管理
Worktile在任务管理上采用了看板视图,非常适合进行敏捷项目开发管理.事实上,在开发Worktile的过程中,我们也是自产自销,使用Worktile管理Worktile本身的开发过程,在本文中跟大 ...
- Win8换成Win7系统问题小结(修改主板BIOS方法)
问题描述: 笔记本电脑W8系统使用不习惯,想要换成W7系统,但不管是用光盘安装亦或是用U盘安装,在设置系统启动项的时候,选择从光盘启动或从U盘启动,但是回车点了之后没反应. 下面就说说问题的原因及解决 ...
- Jmeter 使用Jmeter与Badboy进行压力测试
1. 介绍 Badboy是一个录制请求的工具,这里用它来生成文件给JMeter用. JMeter是一个用java写的开源的性能测试工具,用于模拟在服务器.网络或者其他对象上附加高负载以测试他们提供服务 ...
- spring官网下载
1.第一步:打开官网:http://projects.spring.io/ 2.第二步:点击“SPRING FRAMEWORK”图片 3.第三步:点击“小猫”图标 4.第四步:拉到页面中部的位置,找到 ...
- iOS-证书申请
本文讲述发布证书的申请 首先登陆https://developer.apple.com(99美元账号) a.点击页面右上角 b.进入 c.选择证书类型 distribution,选择添加 d.点击+后 ...
- LINQ系列:Linq to Object投影操作符
投影是指在将序列中的元素转换为一个自定义形式的操作.投影操作符Select和SelectMany用于选择出赋予了适当功能的值.SelectMany操作符可以处理多个集合. LINQ表达式语法: 1. ...