Redis工作模式主要有单机模式、主从模式(slave)、哨兵模式(sentinel)、集群模式(cluster)这四种,本文主要讲解一下主从模式的部署方式。

  我是windows单机进行的这套搭建操作,linux系统下搭建也是同样的,要点都是对配置文件进行一些更改。redis大家可以直接去官网https://redis.io/download下载,linux也可根据页面上的指示输入相应的指令下载。

  首先准备master的配置文件(redis.windows-service.conf),主要有port(端口号,默认是6379)、requirepass(密码)、dbfilename(数据持久化文件)、logfile(日志文件),这里我就不更改端口号和不设置密码了,所以直接使用默认的配置就可以,master-slave模式下,作为master的redis是不需要额外配置的。接下来进去redis目录,执行redis-server.exe redis.windows-service.conf即可,然后到windows服务列表(cmd窗体输入services.msc回车进入)中开启redis服务即可。回到redis目录,双击redis-cli.exe,出现以下界面则成功连接上了端口号为6379的redis服务。

  接下来配置第一台slave的redis。新建redis-6380目录,并复制配置文件redis.windows-service.conf和redis-server.exe 到redis-6380目录下。打开redis.windows-service.conf进行编辑,更改端口号为6380,slave规则添加一条slaveof 127.0.0.1 6379。完整的配置如下:

port 6380

dbfilename dump.rdb

logfile "server_log.txt"

slaveof 127.0.0.1 6379

cluster-enabled no

其中cluster-enabled no配置默认是 #cluster-enabled yes,可以不用更改,如果去掉屏蔽就必须更改为no,因为redis的cluster模式和slave模式是互斥的。slaveof 127.0.0.1 6379这里的值就是maste模式redia的ip和端口号,如果master设置了密码,则还需要添加“masterauth masterpassword”一项配置。然后命令行窗体进入redis-6380目录,执行redis-server.exe redis.windows-service.conf --service-name Redis6380,转到windows服务列表启动名为redis6380的服务就可以了,到现在作为slave模式运行的redis服务就正常运行了。

  打开redis-6380目录下的server_log_6380.txt文件可以看到以下界面,注意红色框部分,表示当前slave节点已经成功从master节点同步数据了:

  至此,一个master-slave模式的redis系统就部署完成,并且成功运行了。接下来我们测试一下在master节点写入的数据,能否正常同步到slave节点里面;

  在刚才的redis-cli.exe界面输入 set test-slave 'test slave of port 6380',成功执行如下:

回到slave节点的客户端连接,我用的是命令行窗体,进入redis-6380目录,执行redis-cli.exe -h 127.0.0.1 -p 6380命令,回车,然后输入 get test-slave,得到如下界面的结果:

这就是刚才在master几点存入的test-slave键值的数据,由此运行在6380端口的slave模式redis已经能成功同步到6379端口的master模式下的数据了。

  redis主从模式下,master模式的redis是不需要额外配置的,和单机模式下的配置一样,只需要更改slave模式的配置,添加slaveof masterip masterport,如果开启了cluster模式,必须要关闭,同时,如果master设置了访问密码,则slave需要配置masterauth masterpassword 一项。

Redis四大模式之主从配置的更多相关文章

  1. Redis 哨兵模式实现主从故障互切换

    200 ? "200px" : this.width)!important;} --> 介绍 Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 S ...

  2. Redis集群_主从配置

    链接地址http://www.2cto.com/database/201502/377069.html 收藏备用. Redis主从配置(Master-Slave) 一. Redis Replicati ...

  3. redis集群(主从配置)

    市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redi ...

  4. Redis 集群_主从配置_哨兵模式

    首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...

  5. Linux之redis的安装,主从配置

    一,redis安装 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  6. Redis 单机模式,主从模式,哨兵模式(sentinel),集群模式(cluster),第三方模式优缺点分析

    Redis 的几种常见使用方式包括: 单机模式 主从模式 哨兵模式(sentinel) 集群模式(cluster) 第三方模式 单机模式 Redis 单副本,采用单个 Redis 节点部署架构,没有备 ...

  7. Redis数据库之服务器主从配置

    目的 主要培养对分布式REDIS主从复制架构运用的能力.理解并掌握REPLICATION工作原理的同时,能独立配置Replication ,使数据库运行在主从架格上.针对主从复制架构的运用,着力掌握S ...

  8. redis哨兵模式实现主从故障切换

    环境设定base2 172.25.78.12 masterbase3 172.25.78.13 slavebase4 172.25.78.14 slave1.配置一主二从环境在base2上[root@ ...

  9. Redis 单例、主从模式、sentinel 以及集群的配置方式及优缺点对比(转)

    摘要: redis作为一种NoSql数据库,其提供了一种高效的缓存方案,本文则主要对其单例,主从模式,sentinel以及集群的配置方式进行说明,对比其优缺点,阐述redis作为一种缓存框架的高可用性 ...

随机推荐

  1. java实现第七届蓝桥杯取球博弈

    题目9.取球博弈 取球博弈 两个人玩取球的游戏. 一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目. 如果无法继续取球,则游戏结束. 此时,持有奇数个球的一方获胜. 如果两 ...

  2. 如何通过PR给视频添加字幕?

    第一步:将视频通过导出音频格式MP3 第二步:将音频MP3导入网易见外平台 第三步:在网易见外平台创建项目,进行语音转写如下所示: 第四步:将从网易见外平台到处的srt字母文件,打开后进行编码为utf ...

  3. GatewayWorker与ThinkPHP等框架结合

    使用GatewayWorker时开发者最关心的是如何与现有mvc框架(ThinkPHP Yii laravel等)整合,以下是官方推荐的整合方式. 见示意图: ## 总体原则 现有mvc框架项目与Ga ...

  4. .NET Core加解密实战系列之——RSA非对称加密算法

    目录 简介 功能依赖 生成RSA秘钥 PKCS1格式 PKCS8格式 私钥操作 PKCS1与PKCS8格式互转 PKCS1与PKCS8私钥中提取公钥 PEM操作 PEM格式密钥读取 PEM格式密钥写入 ...

  5. 如何使用 Shell 脚本来查看多个服务器的端口是否打开?

    我们在进行服务器配置的时候,经常要查看服务器的某个端口是否已经开放.如果服务器只有一两台的话,那很好办,只需要使用 nc 命令一个个查看即可. 但是,如果你的服务器是个集群,有很多台呢?那如果还一个个 ...

  6. 乌班图设置C++11

    zsh: echo "alias g++='g++ -std=c++11'" >> ~/.zshrc  source ~/.zshrc bash: echo " ...

  7. ODBC 常见数据源配置整理

    目录 1. 简介 1.1 ODBC和JDBC 1.2 ODBC配置工具 1.3 ODBC 数据源连接配置 2. MySQL 数据源配置 2.1 配置步骤 2.2 链接参数配置 3. SQLServer ...

  8. 网站搬家之mysql 5.7 date类型默认值不能设置‘0000-00-00’的问题

    网站搬家,mysql版本由5.6升级到5.7,遇到问题: mysql 5.7之后版本datetime默认值设置'0000-00-00',出现异常:Invalid default value for ' ...

  9. 【Spring】@Transactional 闲聊

    菜瓜:上次的AOP理论知识看完收获挺多的,虽然有一个自定义注解的demo,但还是觉得差点东西 水稻:我也觉得没有跟一遍源码还是差点意思,这次结合@Transactional注解深入源码看一下 菜瓜:事 ...

  10. JavaWEB实现qq邮箱发送验证码——qq1692700664

    // 随机验证码public String achieveCode() { String[] beforeShuffle = new String[] { "2", "3 ...