redis 主从配置实战

redis 主从配置

配置的目的很明确。即分配主服务器和从服务器。主服务器负责数据的写, 所有的从服务器负责数据的读取。减少主服务器的压力, 提升性能考虑.

配置主服务器。

编辑主服务器的配置文件:

其实不需要可以的配置副服务器。或者也可以去配置。演示就在本地启动两个服务:6379 设置为主服务器,6378 设置为从服务器,... 可以配置更多的。

在这里就默认使用6379的服务器为主服务器。(这里就不需要配置)

配置从服务器。

编辑从服务器的配置文件:

  1. 将配置文件复制一份出来, 命名 redis-client.conf 名字随便,自己认识就可以了。
  2. 主要修改两个地方:

    1. 设置从服务器的端口为6378(目的是不能与主服务器的端口一致,要在本地起两个redis-server的服务), port 6378
    2. 配置主库

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      ################################# REPLICATION #################################

      # Master-Replica replication. Use replicaof to make a Redis instance a copy of
      # another Redis server. A few things to understand ASAP about Redis replication.
      #
      # +------------------+ +---------------+
      # | Master | ---> | Replica |
      # | (receive writes) | | (exact copy) |
      # +------------------+ +---------------+
      #
      # 1) Redis replication is asynchronous, but you can configure a master to
      # stop accepting writes if it appears to be not connected with at least
      # a given number of replicas.
      # 2) Redis replicas are able to perform a partial resynchronization with the
      # master if the replication link is lost for a relatively small amount of
      # time. You may want to configure the replication backlog size (see the next
      # sections of this file) with a sensible value depending on your needs.
      # 3) Replication is automatic and does not need user intervention. After a
      # network partition replicas automatically try to reconnect to masters
      # and resynchronize with them.
      #
      replicaof 127.0.0.1 6379 # 配置主库的地方

      replicaof 127.0.0.1 6379 # 配置主库的地方

      配置完毕。

启动主从redis

启动主redis-server

1
redis-server /usr/local/etc/redis.conf // 主数据库的配置文件

启动从数据库

1
redis-server /usr/local/etc/redis-client.conf // 从数据库的配置文件

配置完毕后。 测试一下

启动主数据库的客户端

1
redis-server -p 6379 //启动主客户端

启动从数据库的客户端

1
redis-server -p 36788 //启动主客户端

测试

  1. 在主客户端输入命令

    1
    2
    3
    127.0.0.1:6379> set name anziguoer
    OK
    127.0.0.1:6379>
  2. 从客户端获取数据

1
2
3
127.0.0.1:6378> get name
"anziguoer"
127.0.0.1:6378>

可以正常获取到数据,说明配置没有问题。

坚持原创技术分享,您的支持将鼓励我继续创作!
//