redis数据库主从复制

redis数据库

一、安装和配置redis

1、安装redis

[[email protected] ~]# wget http://download.redis.io/releases/redis-3.2.8.tar.gz

[[email protected] ~]# tar -zxvf redis-3.2.8.tar.gz -C /usr/local/src/

[[email protected] ~]# ln -sv /usr/local/src/redis-3.2.8/ /usr/local/redis

[[email protected] ~]# cd /usr/local/redis/

[[email protected] redis]# ls

00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md  redis.conf  runtest-cluster   sentinel.conf  tests

BUGS             COPYING       INSTALL  MANIFESTO  redis      runtest     runtest-sentinel  src            utils

[[email protected] redis]# make

[[email protected] redis]# make install

[[email protected] redis]# cp redis.conf /etc

[[email protected] redis]# vim /etc/redis.conf

bind 0.0.0.0             #设置redis监听的地址

daemonize yes            #设置redis以守护进程的方式启动

dir /redisdb             #设置redis缓存数据的目录

logfile "/redisdb/redis.log"

appendonly yes           #开启AOF持久化日志

[[email protected] redis]# mkdir /redisdb

2、启动redis

[[email protected] redis]# redis-server /etc/redis.conf

[[email protected] redis]# ps aux|grep redis

root     29198  0.0  0.3 129500  3596 ?        Ssl  20:11   0:00 redis-server 0.0.0.0:6379

root     29202  0.0  0.2 103312  2108 pts/0    S+   20:12   0:00 grep redis

[[email protected] redis]# netstat -anptul|grep redis

tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      29198/redis-server

2、停止redis

[[email protected] redis]# redis-cli shutdown

二、主从复制:

主:192.168.1.78   ----------------->从:192.168.1.53

主的配置就没啥可讲的了,配置如上。下面讲下从的配置,从的配置也很简单,只需要在其配置文件中开启slaveof就行了,例如:

slaveof 192.168.1.78 6379

masterauth flux100plat

[[email protected] ~]# grep -v "^#" /etc/redis.conf |grep -v "^$"

bind 0.0.0.0

protected-mode yes

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize yes

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir /redisdb

slaveof 192.168.1.78 6379

masterauth flux100plat

slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5

repl-disable-tcp-nodelay no

slave-priority 100

appendonly yes

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256mb 64mb 60

client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes

然后重启:

[[email protected] redis]# redis-cli shutdown

[[email protected] redis]# redis-server /etc/redis.conf

查看配置:

[[email protected] ~]# redis-cli

127.0.0.1:6379> INFO replication

# Replication

role:slave

master_host:192.168.1.78

master_port:6379

master_link_status:up

master_last_io_seconds_ago:6

master_sync_in_progress:0

slave_repl_offset:57

slave_priority:100

slave_read_only:1

connected_slaves:0

master_repl_offset:0

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

127.0.0.1:6379> scan 0

1) "128"

2)  1) "1386229"

2) "1529562"

3) "1377317"

4) "1886250"

5) "1381493"

6) "1889670"

7) "1365620"

8) "1377610"

9) "1377173"

10) "1515178"

---------------------可以看到数据都同步过来了

在主上查看:

[[email protected] ~]# redis-cli

127.0.0.1:6379> auth flux100plat

OK

127.0.0.1:6379> info replication

# Replication

role:master

connected_slaves:1

slave0:ip=192.168.1.53,port=6379,state=online,offset=1289,lag=1

master_repl_offset:1289

repl_backlog_active:1

repl_backlog_size:1048576

repl_backlog_first_byte_offset:2

repl_backlog_histlen:1288

在从库上执行下面的命令:

slaveof  192.168.1.78 3789   masterauth flux100plat

也可以进行同步操作

slaveof no one         中断复制

时间: 2024-10-11 15:01:50

redis数据库主从复制的相关文章

学习记录02 --- redis数据库的安装,以及主从复制和哨兵模式开启

emmmmmm,这个其实是28号老师布置下来的任务,但博客今天才开,思来想去还是把昨天的给补上吧,按住顺序来吧! 1.redis的安装 redis数据库的安装并不难,首先安装好依赖,因为redis是C语言编写,需要安装gcc来编译 yum install gcc-c++ -y(安装gcc) 执行上面的命令就安装完了gcc,接下来我们需要一个目录,用来安装redis 我是安装在/usr/local/redis里面的,所以直接执行下面的代码就可以创建一个目录 mkdir /usr/local/red

Redis基础学习(五)—Redis的主从复制

一.概述     Redis的主从复制策略是通过其持久化的rdb文件来实现的,其过程是先dump出rdb文件,将rdb文件全量传输给slave,然后再将dump后的操作实时同步到slave中.让从服务器(slave server)成为主服务器(master server)的精确复制品. 以下是关于 Redis 复制功能的几个重要方面: (1)Redis 使用异步复制.从Redis 2.8 开始,从服务器会以每秒一次的频率向主服务器报告复制流(replication stream)的处理进度. (

redis的主从复制部署和使用

reids一种key-value的缓存数据库目前非常流行的被使用在很多场景,比如在数据库读写遇到瓶颈时缓存且读写分离会大大提升这块的性能,下面我就说说redis的主从复制 首先需要启动多个redis实例,master.slave.slave,持久化.端口更改等其他配置在此不在多说,所有的配置都在.conf文件中 作为master节点的conf不需做配置,其中slave-read-only yes表示所有和master相关的字节都为只读的, 要作为slave字节的conf需要配置,放开slaveo

NOSQL之【redis的主从复制】

一.Redis的Replication: 下面的列表清楚的解释了Redis Replication的特点和优势.    1). 同一个Master可以同步多个Slaves.    2). Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力.因此我们可以将Redis的Replication架构视为图结构.    3). Master Server是以非阻塞的方式为Slaves提供服务.所以在Master-Slave同步期间,客户端仍然可以提交查询或修改

菜鸟爬坑--Redis学习与探索(三):Redis的主从复制

什么是Redis主从复制 主从复制,当用户往Master端写入数据时,通过Redis Sync机制将数据文件发送至Slave,Slave也会执行相同的操作确保数据一致:且实现Redis的主从复制非常简单. Redis主从复制原理 在Slave启动并连接到Master之后,它将主动发送一个SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步.而Slave服务器在接收到数据库

redis的主从复制配置

redis的主从复制配置 一.     原理 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面是关于redis主从复制的一些特点:1.master可以有多个slave2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构3.主从复制不会阻塞master.也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理cl

实现Redis的主从复制配置

实现Redis的主从复制配置比较简单,而且容易明白. 下图是要配置的主从复制结构图: 1.说明 Redis主从复制中一个主服务可以有多个从服务,一个从服务可以有多个从服务. 配置比较简单,只需要更改redis.conf文件中的slaveof参数配置即可. slaveof参数的格式如:slaveof <masterip> <masterport> 如果master服务器设置有密码则需要配置masterauth参数. masterauth参数格式如:masterauth <mas

linux搭建redis数据库

linux服务器搭建redis数据库步骤如下 1.下载redis资源文件 wget http://download.redis.io/releases/redis-3.0.4.tar.gz 2.解压redis资源问题 tar -zxf redis-3.0.4.tar.gz 3.进入解压好后的redis文件夹 cd redis-3.0.4 4.make安装redis服务 make 5.启动redis服务(其实到这一步已经搭建完毕了,只要执行./redis-server即可 不过不建议这样,因为这个

redis 的主从复制机制

1.redis的主从复制是什么,我们看看那官网解释: 注: redis 的复制是配置了 master-slave 复制,这种机制允许 从redis服务器能够准确地复制 主服务器的内容. 主要包括:(英文翻译的不太好,看得不太明白的朋友去找找相关的文档) a.主服务器能能有多个从服务器 b.redis 使用异步的复制.从服务器能够实时地获取在复制流中处理过的数据. c.从服务器能够接收其他从服务器上的连接.除了连接主服务器上的许多从服务器,从服务器也能够连接具有级联结构的其他从服务器.(从服务器上