如果我们redis的压力很大,如果我们的并发高到我们读数据和写数据都有了很大压力。 那么我们可能就需要把redis分开部署,并且配置为一个『主从』的状态。

在服务器上构筑Redis的集群配置:

1.切换root用户

  su - centos
  输入密码 ******
  sudo su
  输入密码 ******

2.安装前提包

  yum install gcc-c++
  yum install -y ruby
  yum install -y rubygems

3.下载redis4.0.7

  wget http://download.redis.io/releases/redis-4.0.7.tar.gz

4.移动redis至/usr/local/

  mv redis-4.0.7.tar.gz /usr/local/

  cd /usr/local/

5.解压redis安装包

  tar zxf redis-4.0.7.tar.gz

6.映射redis快捷文件夹

  ln -s /usr/local/redis-4.0.7 /usr/local/redis

  cd /usr/local/redis

7.编译

  make

8.映射redis bin快捷文件夹

  ln -s /usr/local/redis/src /usr/local/redis/bin

9.备份配置文件

  mkdir /usr/local/redis/conf_bak

  cp -rp /usr/local/redis/*.conf /usr/local/redis/conf_bak/

10.修改配置文件redis.conf

  vi /usr/local/redis/redis.conf

修改配置如下:
  protected-mode yes
##绑定的主机地址
##bind <本机ip>
  bind 10.76.64.16
##Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
  daemonize yes
##设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
#slaveof <masterip> <masterport>
  slaveof 10.76.64.16 6379 (为主服务器的 ip端口号)
##当master服务设置了密码保护时,slav服务连接master的密码
#masterauth <master-password>
  masterauth redis2ac
##设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
#requirepass <master-password>
  requirepass redis2ac

11.修改哨兵配置

  vi /usr/local/redis/sentinel.conf

修改配置如下:

##bind <本机ip>
  bind 10.76.64.16
##Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
  daemonize yes
##sentinel monitor mymaster <主机master ip> <主机master port> 1
  sentinel monitor mymaster 10.76.64.16 6379 1(为主服务器的 ip端口号)
##sentinel auth-pass mymaster <主机master redis密码>
  sentinel auth-pass mymaster redis2ac

12.redis服务启动

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

13.reids哨兵进程启动

  /usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel.conf

redis主从复制过程:

当配置好slave后,slave与master建立连接,然后发送sync命令。无论是第一次连接还是重新连接,master都会启动一个后台进程,将 数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。后台进程完成写文件后,master就发送文件给slave,slave将 文件保存到硬盘上,再加载到内存中,接着master就会把缓存的命令转发给slave,后续master将收到的写命令发送给slave。

如果master同时收到多个slave发来的同步连接命令,master只会启动一个进程来写数据库镜像,然后发送给所有的slave。master同步数据时是非阻塞式的,可以接收用户的读写请求。然而在slave端是阻塞模式的,slave在同步master数据时,并不能够响应客户端的查询。

可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化

拥有主从服务器的好处(从服务器是只读的,可以一主多从)

1.    主服务器进行读写时,会转移到从读,减轻服务器压力

2.    热备份 主从都可以设置密码,也可以密码不一致

  

Redis的集群配置的更多相关文章

  1. redis:集群配置

    一.redis集群相关 1.概念:redis集群是通过数据分区提供可用性的,这样即使一部分节点失效也可以继续处理请求. 2.原理:集群使用数据分片实现,一个redis集群包括16384个哈希槽,数据库 ...

  2. Redis简单集群配置

    参考链接为:http://blog.csdn.net/u014230881/article/details/71123494 比较系统学习和熟练使用Redis命令可参考该教程:http://www.r ...

  3. Centos6 安装 Redis 和集群配置

    Redis安装 先确认gcc和tcl已经安装 sudo yum install gcc-c++ sudo yum install tcl 解压, 编译和安装 .tar.gz /usr/src/ cd ...

  4. Redis Sentinel集群配置中的一些细节

    今天在配置Redis集群,用作Tomcat集群的缓存共享.关于Redis集群的配置网上有很多文章,这里只是记录一下我在配置过程中遇到的一些小的细节问题. 1. 关于Protected Mode的问题 ...

  5. redis sentinel 集群配置-主从切换

    1.配置redis master,redis slave(配置具体操作见上文http://www.cnblogs.com/wangchaozhi/p/5140469.html). redis mast ...

  6. redis哨兵集群配置

    redis 集群架构图: 需要先配置redis主从,我这边是单机部署的. 采用一主一从,两个sentinel. redis host: 172.31.11.235 redis-master port: ...

  7. Redis redis-trib集群配置

    redis文档:http://doc.redisfans.com/ 参考:https://www.cnblogs.com/wuxl360/p/5920330.html http://www.cnblo ...

  8. redis之 集群配置(主从复制)

    集群的作用: 集群的方式有二种: 第二种的好处是:master宕机以后可以直接切换到slave1 主从通信的过程 先通过dump导出大块的rdb 然后把aof缓冲过来,然后通过replicationf ...

  9. Redis cluster集群配置教程

    这里建议大家安装4.0.9版本的 1.打开Centos虚拟机,登陆. 2.通过WinSCP把Redis集群tar包上传到虚拟机里的目录里,我的目录是 /usr/local 这里我已经上传过了并解压了, ...

随机推荐

  1. android连接打印机

    android连接  网络打印,主要使用socket连接设备,发送指令给设备. 首先要有设备的IP,端口号一般默认的是9100 //打印设备网络IP etIp.setText("192.16 ...

  2. Dynamics CRM 依赖组件类型为应用程序功能区导致的无法删除实体问题的解决方法

    看到有人问到这个问题,这边就简单描述下解决方法,主要是针对第一次碰到这个问题云里雾里的朋友,错误如下 在我们建lookup关联的时候有下图中的这么个设置,对于很多新手默认就是下图这样不会去做改动,因为 ...

  3. Android简易实战教程--第十五话《在外部存储中读写文件》

    第七话里面介绍了在内部存储读写文件 点击打开链接. 这样有一个比较打的问题,假设系统内存不够用,杀本应用无法执行,或者本应用被用户卸载重新安装后.以前保存的用户名和密码都不会得到回显.所以,有必要注意 ...

  4. Struts2中的struts.multipart.saveDir的配置

    <constant name="struts.multipart.saveDir" value="D:\\AsimsTemp"></const ...

  5. (SQL Server)有关T-SQL的10个好习惯

    转自 http://www.cnblogs.com/CareySon/archive/2012/10/11/2719598.html 1.在生产环境中不要出现Select * 这一点我想大家已经是比较 ...

  6. (一一〇)正则表达式的基本使用与RegexKitLite的使用

    正则表达式常常用于匹配关键字,下面先介绍基本语法. [基本语法] ①中括号表示满足其中之一即可,例如[abc],则这个位置可以是a.b.c中任意一个. ②在中括号中,可以通过-连接范围,例如a-z:多 ...

  7. 深入理解Express.js

    转自:http://xvfeng.me/posts/understanding-expressjs/ 英文原文更赞:http://evanhahn.com/understanding-express- ...

  8. Android开发学习之路--Content Provider之初体验

    天气说变就变,马上又变冷了,还好空气不错,阳光也不错,早起上班的车上的人也不多,公司来的同事和昨天一样一样的,可能明天会多一些吧,那就再来学习android吧.学了两个android的组件,这里学习下 ...

  9. Android简易实战教程--第二话《两种进度条》

    点击按钮模拟进度条下载进度,"下载"完成进度条消失. 代码如下: xml: <?xml version="1.0" encoding="utf- ...

  10. 远程调试Eclipse插件的设置

    1. 被调试方建立一个命令行来运行Eclipse debugEclipse.cmd: eclipse.exe -nl zh_CN -vmargs -XX:+HeapDumpOnOutOfMemoryE ...