在实际项目中,我们通常会把一些数据存放在redis中,如果redis因为某种原因宕机,那么存放在redis中的数据会丢失么?
显然是不会丢失的,redis默认情况下是有持久化机制,和大部分缓存框架一样都会有持久化机制和淘汰策略,比如ehcache等;也有单纯的缓存框架,比如membercache是没有持久化机制的,市面上很少用到。
而redis实现持久化机制有两种分别是RDB、AOF,默认是使用RDB,两种机制可以同时使用,具体看项目需求。
首先先了解一下全量同步和增量同步:
全量同步与增量同步
缺点:频率不是很大redis的持久化方式rdb和aof的区别,可能会造成数据丢失;
优点:对服务器压力小;
缺点:频率非常高redis的持久化方式rdb和aof的区别,对服务器同步压力非常大;
优点:可以保证数据不丢失;
redis持久性机制
Redis提供了两种持久化的机制,分别为RDB、AOF实现;
RDB采用定时 (全量同步) 持久化机制,但是服务器因为某种原因宕机后可能数据会丢失;
AOF是基于数据日志操作实现的持久化,所以AOF采用增量同步方案。
RDB持久化机制
AOF持久化机制
RDB与AOF同时使用,那么哪种方式优先使用?
优先使用AOF,其次使用RDB,因为RDB属于全量同步,可能会有一些短暂的数据没有同步过来;AOF属于增量同步,是把每次客户端的行为操作都记录下来,所以优先使用AOF; redis官方文档说明1G左右的内存,恢复差不多要20s左右,速度还是很快的。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: qihangxm102
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。