• Redis 从数据库配置


    通过持久化功能,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命令将其设置成新的主数据库的从数据库,即可将数据同步回来。

  • 相关阅读:
    0.1.3 set的用法
    JoinPoint
    砝码组合(dfs)
    强大的【环绕通知】
    applicationContext.xml 模板
    各种jar包
    装饰博客(二)添加宠物
    装饰博客(一)添加背景图片
    拖拽功能的实现
    点击之后连接qq
  • 原文地址:https://www.cnblogs.com/xiaozong/p/5661327.html
Copyright © 2020-2023  润新知