redis数据迁移、主从、持久化

数据迁移

数据迁移时,"建议"主库停止写入,从库停止运行,迁移完毕后恢复正常

save 文件迁移法
主服务器 10.0.40.200
redis-cli 客户端登录,输入命令获取持久化文件位置

config get dir

image.png
获取文件路径为 /var/lib/redis
输入命令 save 保存当前时刻数据

save

此时在文件路径下生产了一份最新数据的 dump.rdb 文件

从服务器 10.0.50.20 先停掉redis服务,用同样的方法获取文件保存路径
image.png
文件路径为 /usr/local/redis-5.0.7

将主服务器中报错的 dump.rdb 文件拷贝一份到此处覆盖掉

scp -P 22 dump.rdb root@10.0.50.20:/usr/local/redis-5.0.7

主从配置(一条命令完成主从)

主从配置基本上主库无需配置,主库从库如遇启动权限报错,可将配置文件中 pidfile 参数配置到有权限目录,配置成功后,从库默认无写权限,通过此slave-read-only参数控制

  1. 主库和从库都在需要在 redis.conf 中设置 daemonize yes 后台运行
  2. 从库 redis.conf
    最下面一行添加主库链接信息
  slaveof 10.0.40.200 6379
# 5.0版本后,命令为 replicaof 

主从配置好以后,主服务器会执行一次bgsave命令生成.RDB文件并发送给从服务器,从服务器收到.RDB文件之后再把数据全部进行加载(如果从服务器之前有数据也会被清空),完成全量数据同步

注意点

开启主从同步时,要合理设置生成rdb文件的时候缓冲区大小,参数为client-output-buffer-limit,过大多小会导致复制的安全性

redis如何查看主从状态信息master和salve
info replication

副库
image.png
主库
image.png

持久化

Redis 提供两种持久化机制:RDB(默认)和 AOF 机制

RDB Redis DataBase

Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为 dump.rdb。通过配置文件中的 save 参数来定义快照的周期。本质上为某一时刻的数据快照。

save 900 1
save 300 10
save 60 10000

#   900秒(15分钟)内至少1个key值改变(则进行数据库保存--持久化)  
#   300秒(5分钟)内至少10个key值改变(则进行数据库保存--持久化)  
#   60秒(1分钟)内至少10000个key值改变(则进行数据库保存--持久化) 
AOF Append Only File

将Redis执行的每次写命令记录到单独的日志文件中(执行完命令后才记录日志的),当重启Redis 会重新将持久化的日志中文件恢复数据。与RDB相比,为每个操作的日志文件。

开启参数  appendonly  no(默认) yes

具体同步模式  appendfsync 三个值
1. always,同步写回,每个子命令执行完,都立即将日志写回磁盘。
2. everysec,每个命令执行完,只是先把日志写到AOF内存缓冲区,每隔一秒同步到磁盘。
3. no:只是先把日志写到AOF内存缓冲区,有操作系统去决定何时写入磁盘。
手动触发

命令行也可在客户端手动触发持久化存储、同步
命令:save、bgsave,系统RDB持久化使用的为bgsave命令模式
image.png

内存

redis配置的最大内存容量。当内存满了,需要配合maxmemory-policy策略进行处理,为了防止主机内存使用完,建议设置的maxmemory需要更小一些

# 单位为字节
maxmemory 122000000

内存容量超过maxmemory后的处理策略。

lru策略
#volatile-lru:利用LRU算法移除设置过过期时间的key。
#allkeys-lru:利用LRU算法移除任何key。

ttl策略
#volatile-ttl:移除即将过期的key,根据最近过期时间来删除(辅以TTL)

随机策略
#volatile-random:随机移除设置过过期时间的key。
#allkeys-random:随机移除任何key。

抑制策略
#noeviction:不移除任何key,只是返回一个写错误。

示例

maxmemory-policy allkeys-lru 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值