Redis的Replication(复制)

http://www.cnblogs.com/stephen-liu74/archive/2012/02/23/2364717.html

读写分离

配置文件为redis.conf文件

如何配置Replication:


    
见如下步骤:
    1). 同时启动两个Redis服务器,可以考虑在同一台机器上启动两个Redis服务器,分别监听不同的端口,如6379和6380。
    2). 在Slave服务器上执行一下命令:
    /> redis-cli -p 6380   #这里我们假设Slave的端口号是6380
    redis 127.0.0.1:6380> slaveof 127.0.0.1 6379 #我们假设Master和Slave在同一台主机,Master的端口为6379
    OK
    上面的方式只是保证了在执行slaveof命令之后,redis_6380成为了redis_6379的slave,一旦服务(redis_6380)重新启动之后,他们之间的复制关系将终止。
    如果希望长期保证这两个服务器之间的Replication关系,可以在redis_6380的配置文件中做如下修改:
    /> cd /etc/redis  #切换Redis服务器配置文件所在的目录。
    /> ls
    6379.conf  6380.conf
    /> vi 6380.conf
    将
    # slaveof <masterip> <masterport>
    改为
    slaveof 127.0.0.1 6379
    保存退出。
    这样就可以保证Redis_6380服务程序在每次启动后都会主动建立与Redis_6379的Replication连接了。

配置好后可以写读操作

public ActionResult TestWrite()//主服务

{

  var client = new Redisclient("127.0.01","6379");

  client.Set<int>("pwd8800",1111);

  return content("ok");

}

public ActionResult TestRead()//子服务

{

  var client = new Redisclient("127.0.01","6379");

  int pwd = client.Get<int>("pwd8800");

  return content(pwd.ToString());

}

Save 900 1 含义为900秒后有一个KEY发生变化就执行一次保存

修改appendonly配置可以启动aof模式,改为yes 后就启动aof模式,实时保存数据,但影响性能

appendfsync no/always/everysec  always表示每接一个命令写一次,性能最差; no操作系统同步到磁盘,持久化没有保证,性能最好;  everysec  每秒同步一次,性能折中。首先要启用aof模式。

aof文件的增长速度比较快,所以

从2.4版本后增加了bgrewriteaof功能,在负载不高的情况下,重写aof文件

提高性能可以:

主服务关闭save功能;

从服务器开启aof功能,并开启bgrewriteaof功能,不对外提供服务

如果同时配置了RDB(快照)、aof,恢复数据时只加载aof

如果只配置了RDB快照,恢复时将加载dump文件恢复

时间: 2024-10-11 12:34:24

Redis的Replication(复制)的相关文章

redis 系列22 复制Replication (下)

原文:redis 系列22 复制Replication (下) 一. 复制环境准备 1.1 主库环境(172.168.18.201) 环境 说明 操作系统版本 CentOS  7.4.1708  IP地址 172.168.18.201 网关Gateway 172.168.18.1 DNS 172.168.16.11 Redis版本和端口 4.0.6  和 6379 Redis 密码 123456 是否RDB持久化 开启 是否 AOF持久化 开启 1.2 从库环境(172.168.18.203)

redis 系列21 复制Replication (上)

原文:redis 系列21 复制Replication (上) 一.   概述 使用和配置主从复制非常简单,每次当 slave 和 master 之间的连接断开时, slave 会自动重连到 master 上,并且无论这期间 master 发生了什么, slave 都将尝试让自身成为 master 的精确副本.这个系统的运行依靠三个主要的机制: (1) 当一个 master 实例和一个 slave 实例连接正常时, master 会发送一连串的命令流来保持对 slave 的更新,以便于将自身(m

浅谈MySQL Replication(复制)基本原理

1.MySQL Replication复制进程MySQL的复制(replication)是一个异步的复制,从一个MySQL instace(称之为Master)复制到另一个MySQL instance(称之Slave).实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在Master(IO进程)上.要实施复制,首先必须打开Master端的binary log(bin-log)功能,否则无法实现.因为整个复制过程实际上就是Slave从Master端

Redis主备复制

Redis 支持 Master-Slave(主从)模式,Redis Server 可以设置为另一个 Redis Server 的主机(从机),从机定期从主机拿数据.特殊的,一个从机同样可以设置为一个 Redis Server 的主机,这样一来 Master-Slave 的分布看起来就是一个有向无环图,形成 Redis Server 集群,无论是主机还是从机都是 Redis Server,都可以提供服务. 在配置后,主机Master可负责读写服务,从机Slave只负责读.Redis 提高这种配置方

Redis主从复制-Replication

官网介绍看这里 http://redis.io/topics/replication 主从复制:就是主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 Redis replication is a very simple to use and configure master-slave replication that allows slave Redis servers to be exact copies of maste

Redis的replication

环境: master:192.168.11.31 slave : 192.168.11.20:6379 与 6380 模拟两台slave同时对一台master进行复制. mater 配置:daemonize yespidfile /var/run/redis.pidport 6379tcp-backlog 511timeout 0tcp-keepalive 0loglevel noticelogfile ""databases 16repl-diskless-sync norepl-d

Redis高可用复制集群实现

redis简单介绍 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库.Redis 与其他 key - value 缓存产品有以下三个特点: 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. 支持数据的备份,即master-slave模式的数据备份. Redis的持久化 RDB:snapshotting 二进制格式:按

Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别

谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. 复制(Replication):则是负责让一个Redis服务器可以配备多个备份的服务器. Redis正是利用这两个功能来保证Redis的高可用. 哨兵(sentinal) 哨兵是Redis集群架构中非常重要的一个组件,哨兵的出现主要是解决了主从复制出现故障时需要人为干预的问题. 1.Redis哨兵

Redis哨兵、复制、集群的设计原理,以及区别

广西SEO:谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. **复制(Replication):**则是负责让一个Redis服务器可以配备多个备份的服务器. Redis正是利用这两个功能来保证Redis的高可用. 哨兵(sentinal) 哨兵是Redis集群架构中非常重要的一个组件,哨兵的出现主要是解决了主从复制出现故障时需要人为干预