redis主从备份,默认是读写分离的,master用于写,slave用于读。slave的写只能用于存储一些短暂状态的变量,应为在下次同步时,会被移除。

配置主从备份原则:配从不配主,既只需修改从库配置文件。可参考官网介绍:https://redis.io/topics/replication

配置主从备份,修改从库配置文件,添加如下指令:

slaveof <masterip> <masterport>

若主库需认证,还需添加如下指令:

masterauth <password>


通常还需修改如下配置,防止命名冲突:
#redis监听端口号
port #pid文件
pidfile /var/run/redis_6380.pid #日志文件
logfile "6380.log" #rbd备份文件
dbfilename dump6380.rdb #aof备份文件
appendfilename "appendonly6380.aof"

此处以一主二从简单介绍下相关步骤:

1、在redis安装目录下创建一目录“conf”,用于存放redis配置文件

  

mkdir conf

2、拷贝redis.conf到conf目录下,三个redis实例一人一份

  cp redis.conf conf/redis_6379.conf

  cp redis.conf conf/redis_6380.conf

  cp redis.conf conf/redis_6381.conf

安装之前介绍,修改个配置文件相关参数(此处6379为主库,不需添加slaveof指令, 其他两个配置文件 需添加 :slaveof 127.0.0.1 6379)。

3、分别启动三个redis实例:

 

./redis-server ../conf/redis_6379.conf

./redis-server ../conf/redis_6380.conf

./redis-server ../conf/redis_6381.conf

到此主从配置完成,可通过客户端程序:redis-cli链接上redis服务器,执行:info replication 查看服务器主从状态。

按照上述配置的主从,实际工作中很少使用,因为主库出异常后,从库将继续保持为slave状态,则会影响程序正常工作。

哨兵模式(反客为主):既当master出异常后,进行自动投票,在从库中选择出一个做为master提供服务(当之前的master恢复正常后,将作为该master的slave),其他的从库将作为新选出的master的slave,这样便保证了,mater异常后,不至于影响程序的正常执行。相关配置可参照官网介绍:https://redis.io/topics/sentinel

哨兵模式虽然解决高可用的问题,但未解决数据分区的问题

redis3.0开始,新增了redis cluster(集群)新功能,这样便保证了redis的高可用,同时也解决了数据的分区问题,相关介绍可参考官网介绍:https://redis.io/topics/cluster-tutorial

redis主从备份的更多相关文章

  1. Redis实战——redis主从备份和哨兵模式实践

    借鉴:http://redis.majunwei.com/topics/sentinel.html     https://blog.csdn.net/u011784767/article/detai ...

  2. redis 主从备份自动切换+java代码实现类

    转载:http://blog.csdn.net/qq_23430789/article/details/52185706 目录(?)[-] redis-0sentinel实例之间的通讯端口 maste ...

  3. 单机部署redis主从备份

    redis为了避免单点故障,也支持主从备份.个人在做主从备份的实验时,因为机器数量有限,一般非常少有多台机器做支撑. 本文就将叙述怎样在一台电脑上实现redis的主从备份. 同一台机器上部署多个red ...

  4. redis主从配置 从而实现数据备份和读写分离

    首先打开cmd,用cd找到你的redis文件夹,我的操作是 在你的第一个redis客户端文件夹配置文件中,搜索port,找到如下位置 端口号设置为6379(默认的.后面一个,两个或者多个客户端分别修改 ...

  5. 基于Windows服务器集群的Redis主从配置指南

    前段时间一个项目因并发量大.因防止宕机做了主从备份,首页的表连接查询又非常的耗时.故此拿出利器Redis缓存这个查询结果,并随着用户操作而更新. 因官方目前只有linux版,Windows版下载:  ...

  6. 02.Redis主从集群的Sentinel配置

    1.集群环境 1.Linux服务器列表 使用4台CentOS Linux服务器搭建环境,其IP地址如下: 192.168.110.100 192.168.110.101 192.168.110.102 ...

  7. nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存

    一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...

  8. redis主从,哨兵回忆手册

    redis主从 持久化的开启与主从集群是否生效无关系 Slave Server同样是以非阻塞的方式完成数据同步.在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据(注意初次同步则会阻 ...

  9. redis单点、redis主从、redis哨兵sentinel,redis集群cluster配置搭建与使用

    目录 redis单点.redis主从.redis哨兵 sentinel,redis集群cluster配置搭建与使用 1 .redis 安装及配置 1.1 redis 单点 1.1.2 在命令窗口操作r ...

随机推荐

  1. Problem T: 零起点学算法15——交换变量

    #include<stdio.h> int main() { int a,b,c; scanf("%d %d",&a,&b); c=a; a=b; b= ...

  2. Java使用POM一JAR包的形式管理JavaScript文件-WebJars

    说明:原来JS框架还可以使用POM进行管理的.WebJars是一个很神奇的东西,可以让大家以JAR包的形式来使用前端的各种框架.组件. 什么是WebJars 什么是WebJars?WebJars是将客 ...

  3. Telnet环境变量

    转:http://www.cnpaf.net/Class/Telnet/200408/2.html 当前位置: 网站首页>>协议大全>>TELNET协议>> Tel ...

  4. 【spring data jpa】jpa实现update操作 字段有值就更新,没值就用原来的

    示例代码如下: /** *复杂JPA操作 使用@Query()自定义sql语句 根据业务id UId去更新整个实体 * 删除和更新操作,需要@Modifying和@Transactional注解的支持 ...

  5. SQL Server 存储过程小结

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  6. Gitlab系列九之取消用户注册页面和删除用户

    一.取消用户注册页面 Admin Area--->Settings--->Sign-up enabled(取消前面的勾)---save 二.删除用户 Users----Destroy(点他 ...

  7. hadoop提交作业自定义排序和分组

    现有数据如下: 3 3 3 2 3 1 2 2 2 1 1 1 要求为: 先按第一列从小到大排序,如果第一列相同,按第二列从小到大排序 如果是hadoop默认的排序方式,只能比较key,也就是第一列, ...

  8. 转: ios学习入门进阶

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:利炳根链接:https://www.zhihu.com/question/19627420/answer/45962351来源 ...

  9. maven 打包不全(xml,properties文件没打进包)解决方案

    在pom.xml的build标签中加入以下代码即可 <build> <resources>            <resource>               ...

  10. Node.js 解析gzip网页(https)

    gzip网页指网页头字段Content-Encoding是gzip(GNU zip)内容编码方式.内容编码是指不丢失实体信息的前提下所进行的压缩. Node.js 代码如下: //========== ...