zoukankan      html  css  js  c++  java
  • redis RDB AOF数据持久化

    redis RDB持久化[手工持久化]:

    RDB持久化在指定的时间间隔内生成数据集的时间点快照[point-in-time snapshot]
    优点: 速度快,适合于备份
    缺点: 会有数据丢失

    #正常没有做持久化时
    [root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
    10.0.0.63:6379> set name timo
    OK
    10.0.0.63:6379> exit
    [root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
    10.0.0.63:6379> get name
    "timo"
    没有shutdown时数据还在,现在执行shutdown
    然后重新启动redis
    10.0.0.63:6379> shutdown
    not connected> exit
    [root@k8s-master1 6379]# redis-server /nosql/redis/6379/redis.conf
    
    登录进去后,查询设置的 timo 键值:
    10.0.0.63:6379> get name
    (nil)
    此时为空。
    
    
    #手工持久化[RDB持久化]:
    [root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
    10.0.0.63:6379> set name01 timo
    OK
    10.0.0.63:6379> save
    OK
    10.0.0.63:6379> shutdown   #关闭redis
    not connected> exit
    
    启动后查询:
    [root@k8s-master1 6379]# redis-server /nosql/redis/6379/redis.conf
    [root@k8s-master1 6379]# redis-cli -h 10.0.0.63 -a 123
    10.0.0.63:6379> get name01
    "timo"
    此时就是做了手工持久化,使得数据保存了,在重启后依然存在。
    我们知道没有持久化的数据都在内存中,一旦重启内存就被释放了,此时只有手工持久化才行。 save就是手工持久化。
    

    redis RDB持久化条件配置【适合用于备份】redis rdb持久化策略

    手工持久化可以设置哪些数据会被持久化,设置条件后即使我们不手工敲save 系统也会自动帮我们做持久化操作。

    rdb持久化也叫快照持久化,他会持久化当前内存状态。
    优点:数据持久化快。 非常适合用于备份。

    RDB持久化快照条件配置
    在我们不用敲save主动进行持久化的时候,我们还可以使用一些条件进行自动持久化,比如设置 100秒保存一次。
    redis.conf 添加条件如下:
    
    save 900 1
    save 300 10
    save 60 10000
    
    
    配置分别表示:
    900秒(15分钟)内有1个更改
    300秒(5分钟)内有10个更改
    60秒内有10000个更改
    

    redis AOF持久化

    记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集
    AOF文件中的命令全部以redis协议格式来保存,新命令追加到文件末尾。
    优点: 可以最大程度保证数据不会丢失
    缺点:日志记录的量级会比较大

    RDB持久化只会保存最后一次的操作,而AOF会保存所有的操作。它的量级会比RDB持久化日志更大,类似于mysql的binglog
    

    redis AOF持久化配置

    重要配置:
    appendonly yes      #是否打开持久化功能
    appendfsync always  #是否开启持久化条件  always[每次修改都持久化]  everysec[每秒持久化一次]  一般设置everysec
    
    注意: redis集群中,这个功能必须要开启。
    
    配置文件:
    daemonize yes
    port 6379
    logfile /nosql/redis/6379/redis.log
    dir /nosql/redis/6379
    dbfilename dump.rdb
    #protected-mode no
    bind 10.0.0.63
    requirepass 123
    save 900 1
    save 300 10
    save 60 10000
    
    appendonly yes
    appendfsync everysec
    

    面试技巧:

    redis的持久化方式有哪些,有什么区别?
    redis有两种持久化方式,分别是 RDB持久化  AOF持久化
    RDB持久化是以操作次数作为条件保存数据的他是基于快照进行持久化的,速度更快,主从复制也依赖该功能[速度快]
    AOF持久化是指定每次修改追加方式进行数据持久化操作。可以最大程度保证redis数据安全 [更安全]
    

    redis数据类型:

    string: 字符类型
    Hash:  字典类型
    List:  列表
    set:   集合
    Sorted set:  有序集合
    
  • 相关阅读:
    ZW网络团队及资源简介
    ZW云推客即将登场
    “4K云字库”基本框架图
    Sketch 55 Beta版本探秘,看看都有什么新功能
    产品经理有哪些类型?
    电影票APP原型设计分享– Movie Booking
    旅游类App的原型制作分享-Klook
    UI行业发展预测 & 系列规划的调整
    原来这就是 UI 设计师的门槛
    摹客PS插件全新改版!—— 智能检测不对应的设计稿
  • 原文地址:https://www.cnblogs.com/superlinux/p/13695823.html
Copyright © 2011-2022 走看看