博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis 从数据库配置
阅读量:5305 次
发布时间:2019-06-14

本文共 1403 字,大约阅读时间需要 4 分钟。

通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据。但是由于数据是存储在一台服务器上的,如果这台服务器的硬盘出现故障,也会导致数据丢失。为了避免单点故障,我们希望将数据库复制多个副本以部署在不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务。这就要求当一台服务器上的数据库更新后,可以自动将更新的数据同步到其他服务器上,Redis提供了复制(replication)功能可以自动实现同步的过程。

配置方法
  • 通过配置文件 从数据库的配置文件中加入slaveof master-ip master-port,主数据库无需配置

  • 通过命令行参数 启动redis-server的时候,使用命令行参数--slaveof master-ip master-port

    redis-server --port 6380 --slaveof 127.0.0.1 6379
  • 通过命令SLAVEOF master-ip master-port

    redis>SLAVEOF 127.0.0.1 6379

    SLAVEOF NO ONE可以使当前数据库停止接收其他数据库的同步,转成主数据库


 

 

redis主从复制

    redis主从复制的特点:

     1.一个master可以拥有多个slave

     2.多个slave可以连接同一个master外,还可以连接到其它slave

     3.主从复制不会阻塞master,在同步数据时,master可以继续处理client的请求

     4.提高系统的伸缩性

    redis主从复制过程:

     1.slave与master建立连接,发送sync同步命令

     2.master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令

       并缓存。

     3.后台完成保存后,就将此文件发送给slave

     4.slave将此文件保存到硬盘上

    配置主从服务器:

     配置slave服务器很简单,只需要在slave的配置文件中加入以下配置:

       slaveof 222.27.174.98 6379   //指定master的主机的IP和端口号

       masterauth 888888   //主机数据库的密码

     我们可以通过info命令来查看本机的redis是主服务器还是从服务器。

  通过 info Replication 查看role是master还是slave,及相关信息

优点及应用场景
  1. 读写分离 通过复制可以实现读写分离以提高服务器的负载能力。在常见的场景中,读的频率大于写,当单机的Redis无法应付大量的读请求时(尤其是较耗资源的请求,比如SORT命令等)可以通过复制功能建立多个从数据库,主数据库只进行写操作,而从数据库负责读操作。

  2. 从数据库持久化 持久化通常相对比较耗时,为了提高性能,可以通过复制功能建立一个(或若干个)从数据库,并在从数据库中启用持久化,同时在主数据库禁用持久化。当从数据库崩溃时重启后主数据库会自动将数据同步过来,所以无需担心数据丢失。而当主数据库崩溃时,需要在从数据库中使用SLAVEOF NO ONE命令将从数据库提升成主数据库继续服务,并在原来的主数据库启动后使用SLAVEOF命令将其设置成新的主数据库的从数据库,即可将数据同步回来。

转载于:https://www.cnblogs.com/xiaozong/p/5661327.html

你可能感兴趣的文章
团队博客地址
查看>>
master分支合并
查看>>
2017.11.12 web中JDBC 方式访问数据库的技术
查看>>
Pat1128:N Queens Puzzle
查看>>
占位 SC
查看>>
《算法心得:高效算法的奥秘(原书第2版)》
查看>>
知道力——彻底超越执行力的25条职场新思维
查看>>
序号的结构层次顺序
查看>>
AC自动机
查看>>
LCA算法解析-Tarjan&倍增&RMQ
查看>>
BZOJ4241 历史研究 莫队 堆
查看>>
BZOJ1191 [HNOI2006]超级英雄Hero 二分图匹配
查看>>
进制转换2016/3/5
查看>>
片段缓存
查看>>
【转】浅谈JavaScript中forEach与each
查看>>
linux指定目录安装软件后,程序找不到共享库问题
查看>>
php连接、操作mysql数据库
查看>>
hello world!
查看>>
hdu1246
查看>>
android开发中如何结束所有的activity
查看>>