redis主从同步

本文详细介绍了 Redis 的配置文件常用选项及其作用,包括 daemonize、pidfile、port、dbfilename、slaveof、loglevel 和 logfile 等,并通过实际案例展示了如何安装、配置主从服务器。此外,还提供了 Redis.conf 文件的详解,帮助读者理解并掌握 Redis 的高级配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1, redis配置文件常用选项说明

daemonize no 
说明:是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。


pidfile /var/run/redis.pid
说明:redis-server的pid文件。

port 6379
说明:redis-server的端口号


dbfilename dump.rdb
说明:数据库文件的位置,最好添加绝对路径,若不添加时在启动用户的home目录下。

slaveof <masterip> <masterport>
说明:设置主从服务器的主服务器的地址和端口。例如:slaveof 192.168.1.1 6379


loglevel verbose
说明:日志级别,有四种,debug,verbose,notice,warning。


logfile stdout
说明:日志的输出文件,默认是标准输出。例如:logfile /tmp/redis.log

 

2, 主从的安装和配置
2.1 基本环境
假设我有两台机器:
master: 192.168.1.1
slave:  192.168.1.2

.下载
使用的版本是: redis-2.4.13

>cd redis-2.4.13
>make
>sudo make install


2.2 安装主服务器
vim redis.conf
根据自己的需要修改一些参数

.修改磁盘上保存数据库文件的位置:
dbfilename  /redisdb/dump.rdb

.修改日志级别
#如果只要输出少量日志的话,可以用waring
loglevel warning

.修改日志文件的位置
logfile /tmp/redis.log

 

2.3 安装和配置从机
cp redis.conf /etc/redis_slave.conf

vim redis_slave.conf
修改其中的一行
配置master的ip地址和redis-server的端口。
slaveof <masterip> <port>


3, 启动和测试
主机: redis-server /etc/redis.conf
从机: redis-server /etc/redis_slave.conf

3.1 测试
在主机上启动redis客户端:
ssh 192.168.1.1
redis-cli
>set k1 v1
>get k1
"v1"

.登陆从机,并在从机上启动客户端:
ssh 192.168.1.2
redis-cli
>get k1
"v1"

可以看到redis已经把数据同步过来了。

附redis.conf详解

daemonize yes #是否以后台进程运行,默认为no 
pidfile /var/run/redis.pid #如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pid 
bind 127.0.0.1 #绑定主机IP,默认值为127.0.0.1(注释) 
port 6379 #监听端口,默认为6379 
timeout 300 #超时时间,默认为300(秒) 
loglevel notice #日志记slave-serve-stale-data yes:在master服务器挂掉或者同步失败时,从服务器是否继续提供服务。录等级,有4个可选值,debug,verbose(默认值),notice,warning 
logfile /var/log/redis.log #日志记录方式,默认值为stdout 
databases 16 #可用数据库数,默认值为16,默认数据库为0 
save 900 1 #900秒(15分钟)内至少有1个key被改变 
save 300 10 #300秒(5分钟)内至少有300个key被改变 
save 60 10000 #60秒内至少有10000个key被改变 
rdbcompression yes #存储至本地数据库时是否压缩数据,默认为yes 
dbfilename dump.rdb #本地数据库文件名,默认值为dump.rdb 
dir ./ #本地数据库存放路径,默认值为 ./slaveof 10.0.0.12 6379 #当本机为从服务时,设置主服务的IP及端口(注释) 
masterauth elain #当本机为从服务时,设置主服务的连接密码(注释) 
slave-serve-stale-data yes #在master服务器挂掉或者同步失败时,从服务器是否继续提供服务。 
requirepass elain #连接密码(注释)

maxclients 128 #最大客户端连接数,默认不限制(注释) 
maxmemory #设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。(注释) 
appendonly no #是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认值为no 
appendfilename appendonly.aof #更新日志文件名,默认值为appendonly.aof(注释) 
appendfsync everysec #更新日志条件,共有3个可选值。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次(默认值)。

really-use-vm yes 
vm-enabled yes #是否使用虚拟内存,默认值为no 
vm-swap-file /tmp/redis.swap #虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享 
vm-max-memory 0 #vm大小限制。0:不限制,建议60-80% 可用内存大小。 
vm-page-size 32 #根据缓存内容大小调整,默认32字节。 
vm-pages 134217728 #page数。每 8 page,会占用1字节内存。 
vm-page-size #vm-pages 等于 swap 文件大小 
vm-max-threads 4 #vm 最大io线程数。注意: 0 标志禁止使用vm 
hash-max-zipmap-entries 512 hash-max-zipmap-value 64list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 activerehashing yes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值