一、持久化和备份

1.RDB

①概念:在某一时刻将所有的内存数据“拍”下来,生成一个rdb文件,就算内存宕机了,rdb文件也不会丢失,只要在内存中读入rdb文件,数据就会进行恢复

②优势与劣势

优势:

  • 适合大规模的数据恢复
  • 对数据完整性和一致性要求不高

劣势:

  • 在一定间隔时间做一次备份,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改
  • Fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑

2.AOF

①概念:以日志的形式来记录每个写操作,将 Redis 执行过的所有写指令记录下来 (读操作不记录), 只许追加文件但不可以改写文件,redis 启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作

②优势与劣势

优势

  • 每修改同步:appendfsync always 同步持久化 每次发生数据变更会被立即记录到磁盘 性能较差但数据完整性比较好
  • 每秒同步:appendfsync everysec 异步操作,每秒记录 如果一秒内宕机,有数据丢失
  • 不同步:appendfsync no 从不同步

劣势

  • 相同数据集的数据而言 aof 文件要远大于 rdb 文件,恢复速度慢于 rdb
  • Aof 运行效率要慢于 rdb, 每秒同步策略效率较好,不同步效率和 rdb 相同
  • AOF需要进行持续的IO,会对内存的使用造成负担

二、主从复制

1.如何实现

①从机设置(redis6.0后支持replicaof)

BHJQZES[[F{W$Q_Y%_J32P4.png

②主机设置(关闭主机的远程连接)

F5)9Y`4J@@RXPSL~B[OK91W.png

③查看主从机信息(在redis-cli后输入info replication)

S4)JCB_M3@_$BHI~%%@MN31.png

2.全量复制与增量复制

①第一次同步是全量复制,而再次同步是部分复制

②全量复制指主节点一次将所有数据发送给从节点,当数据量较大时,对主从节点和网络造成较大开销;部分复制指当从节点再次连接上主节点后,如果条件允许,主节点会补发数据给从节点


原来是小袁呐
1 声望0 粉丝