Redis学习(8)-redis持久化

内存(兔子):高效,断电数据丢失

硬盘(乌龟):读写速度慢于内存的,断电数据依旧存在

持久化:把数据保存在硬盘上

关系型数据库:MySQL-持久化:

  • 任何操作都是硬盘上,断电以后,硬盘上数据还在。

非关系型数据库:redis

  • 增删改查,数据都是在内存上进行操作。
  • 断电后内存中的数据不存在。
  • 断电后:redis的部分数据会丢失,丢失的数据是保存在内存中的,部分保存在硬盘上
  • redis存在持久化操作

Redis两种持久化策略:RDB,AOF

默认持久化机制:RDB

RDB:使用快照方式保存数据

RDB相当于快照,保存的仅是一种状态。

扫描二维码关注公众号,回复: 1187173 查看本文章

20G数据--> 几Kb快照

优点:

1,快照保存数据速度极快,还原数据速度极快。

2,适用于灾难备份(rdb文件小,备份rdb文件速度很快)。

缺点:

RDB机制符合要求就会照快照(随时随地启动),会占用一定系统资源(突然的),很可能内存不足,直接宕机(宕机后,服务器关闭,非正常关闭,内存中的数据也因此没了)。

适用于:内存比较充裕的计算机。

RDB何时进行照快照:

1,服务器关闭时,照快照。  ./bin/redis-cli shutdown

 2,key满足一定条件,会照快照。

 

AOF:使用日志功能保存数据操作

redis同步了三种同步策略:每秒同步,每修改同步,和不同步

AOF配置:

no      不同步:高效,但是不进行持久化(默认)

everysec   每秒同步:每秒进行一次AOF保存数据

always    每修改同步:只要有key变化语句,就进行AOF保存数据。

适用于:内存空间较小的计算机

AOF操作:只会保存导致key变化的语句

启用AOF

修改redis.conf,配置文件,如下俩个截图:

策略选择:

优点:

1,持续性占用极少量的内存资源。

缺点:

1,日志文件会比较大。

2,不适用于灾难容灾(日志文件大,拷贝慢)

猜你喜欢

转载自www.cnblogs.com/alsf/p/9114103.html
今日推荐