Redis系列之高可用集群

Redis,一个完全免费开源的缓存软件,它是使用C语言编写,基于内存的高性能key-value数据库。Redis在互联网存储技术中得到非常广泛的应用,它作为缓存中间件,能够解决互联网应用中的一些技术瓶颈,且具有使用简单,性能强悍,功能应用场景丰富的特点。

Redis如何打造高可用的架构呢?持久化+主从+哨兵

持久化

Redis持久化的方式有两种:RDB和AOF

RDB是把Redis存储在内存的数据以快照的形式通过fork子进程写入磁盘的,采用二进制压缩存储。RDB一般是以5分钟一次的频率进行持久化,因此每5分钟保存一次快照,就会出现在两个5分钟之间的数据将会丢失;当然在写入磁盘的过程中如果宕机了同样也会导致数据丢失。

AOF是Redis把每一条执行的命令以append-only追加方式写入日志文件,以追加的方式写入磁盘的好处是消除了磁盘寻址的过程,速度快。在配置文件可以进行配置每隔多久写入日志文件,最小是1秒,也就是说AOF最多会丢失1秒中的数据;并且AOF的日志文件还支持修改,比如在操作不当的情况下不小心把数据误删掉了,此时可以找到AOF的日志文件,把最后一条删除的命令删除掉再进行数据恢复。

RDB与AOF的比较

AOF文件的数据比RDB的更加完整,所以AOF比RDB的文件更大。

AOF最多丢失1秒的数据(eveysec配置),而RDB会丢失快照间隔时间内的数据。

RDB可以做异地容灾,也就是在快照完成后可以将RDB文件放到其他地区保存,避免灾难性的自然现象造成数据丢失。

那么在实际工程中又如何选择这两种持久化方式呢?

两者都有各自的优点与缺点,当然是两者结合使用啦,最大程度的保证数据的完整性。如果机器宕机了,可以选择RDB文件快速进行数据恢复,然后在AOF对数据进行补全。

ps:当两种机制全部开启的时候,Redis在重启的时候会默认用AOF去重新构建内存的数据,因为AOF的数据比RDB的数据更完整。

主从同步

为了进一步提高Redis的性能和单点故

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值