zoukankan      html  css  js  c++  java
  • redis持久化策略

    1.  redis作为内存数据库需要保存大量用户的数据,但是redis中的数据保存到内存中,由于断电/宕机,肯定会导致内存数据丢失,为了防止数据丢失,采用持久化的方式,实现内存数据的备份;

       当redis内存中有数据时,通过自身的策略有2中方式,一种是RDB模式,一种是AOF(默认);根据自身模式的设定进行数据的持久化;RDB或者AOF都有各自的持久化文件;

       当redis重启时,会根据配置文件中指定的持久化文件的名称,加载持久化文件,为了恢复内存的数据;

    2.  RDB模式:

       2.1 特点:RDB模式定期将内存中的数据进行持久化,如果用户允许丢失少量的数据,则首选RDB模式,因为RDB模式定期为内存做快照;该方式的备份的速度时很快

       2.2 备份命令:(执行redis备份命令需要在客户端中redis-cli执行

          save(手动备份)-------会造成线程的阻塞,只有当备份操作完成时,才允许执行redis更新操作;

          bgsave(后台备份)----表示后台运行,不会造成线程的阻塞,其会挑不忙的时间做数据备份;

       2.3 备份方式:

          save 900 1    在900秒内,redis做一次更新操作,则备份一次

          save 300 10     在300秒内,redis做10次更新操作,则备份一次

          save 60 10000 在60秒内,redis做10000次更新操作,则备份一次

    3.  AOF模式:(可以做到实时数据备份,该模式相当于通过配置文件记录了用户的全部操作过程);持久化文件明文保存,没有加密;(AOF模式开启后,RDB模式不生效!!!)

       3.1 特点:实时的数据备份,安全性好,持久化的速度较RDB模式慢;

              AOF持久化文件的体积很大;当数据恢复时,需要消耗很长的时间;

       3.2 AOF持久化策略:

          appendfsync  always----------每次操作都会备份

          appendfsync  everysec-------每秒备份一次

          appendfsync  no----------------不做操作

  • 相关阅读:
    省级联动(使用ajax实现)
    java学习之 反射
    自己写的代码生成器
    java中关于StackTraceElement的使用
    在Java中判断数组中包含某个元素的几种方式的比较
    android PopupWindow 点击外面消失
    android获取textview的行数
    多线程关于腾讯笔试题
    FrameLayout的点击问题
    自定义SnackBar
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/9900236.html
Copyright © 2011-2022 走看看