RDB

RDB:Redis DataBases

  RDB:在指定时间内将内存中的数据集快照写到磁盘中 , 恢复时把磁盘中文件读取到内存里 . Redis会单独创建(fork)一个子进程来进行持久化 ,  会先将数据写道一个临时文件中 , 待持久化过程结束了 , 再用这个临时文件替换上次持久化好的文件 . 整个过程不进行任何IO操作 , 这就确保了极高的性能 . 如果需要进行大规模数据的恢复 , 且对数据恢复的完整性不是非常敏感 , 那RDB方式要比AOF方式更加高效 . RDB的缺点最后一次持久化后的数据可能丢失

  dunp.rdb保存位置和启动redis-cli当前文件有关 且启动时会在当前文件夹下查找dump.rdb.需要修改当前文件夹权限使其有创建文件的权限 sudo chmod 777 /esr/local/bin/

  save 操作强制备份 只管保存,其它不管, 全部阻塞

  bgsave reids会在后台异步进行快照操作同时还可以响应客户端请求

  

AOF:Append Only File

  以日志形式来记录每个写操作 , 只许追加文件不许改写文件 , Redis启动之初会读取该文件重新构建按数据 , 换言之 , Redis根据日志内容将写指令从前到后执行一次来玩成数据的恢复工作.

  appendonly no  //yes打开aof持久化    aof和rdb是可以共存的 优先加载aof  如果aof存在语法错误 需要使用redis-check-aof --fix appendonly.aof来修复

  appendfsync everysec   //可选always和everysec和no  

  rewrite 由于追加机制 , 文件会越来越大 之后新增机制 当大于设定的阈值 , Redis就会启动AOF文件的内容压缩 , 只保留可以恢复的最小指令集 , 可以使用命令bgrewriteaof

  优势:每秒同步 每修改同步

  劣势:相同数据集的数据而言aof文件要远大于rdb文件,恢复速度慢于rdb  

  

posted @ 2019-03-12 14:49  dugujiujian  阅读(405)  评论(0编辑  收藏  举报