redis持久化 RDB与AOF

RDB与AOF区别

  • rdb: 基于快照的持久化,速度更快,一般用做备份,主从复制也是依赖于rdb持久化功能
  • aof:以追加的方式记录redis操作日志的文件,可以最大程度的保证redis数据的安全

RDB

前言

  • 前言

    • Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。
  • RDB持久化
    • 基于内存的数据快照
    • 定期执行数据快照
    • 手动触发数据快照

RDB实践

  • redis安装链接:https://www.cnblogs.com/yuncong/p/10259211.html

  • 在配置文件中,添加rdb持久化参数

    # 新建配置文件redis-6379.conf
    touch redis/conf/redis-6379.conf
    # 编辑
    vim redis/conf/redis-6379.conf # 写入内容
    port 6379
    daemonize yes
    pidfile /data/6379/redis.pid
    loglevel notice
    logfile "/data/6379/redis.log"
    dir /data/6379 #定义持久化文件存储位置
    protected-mode yes
    dbfilename dbmp.rdb
    save 900 1 #rdb机制 每900秒 有1个修改记录
    save 300 10 #每300秒 10个修改记录
    save 60 10000 #每60秒内 10000修改记录 # 注意路径问题,不要将备注也复制进去,

    注意:如果报存储文件没有,根据你自己写的路径自己创建

  1. 启动redis服务端

    redis-server redis-6379.conf
  2. 登录redis设置key

    redis-cli -p 6379 -a xxx
    # -p 端口号 -a 设置的密码
    # 如果没输入密码,登录之后
    auth 密码
  3. 此时检查目录,/data/6379底下没有dbmp.rdb文件

  4. 通过save触发持久化,将数据写入RDB文件

    127.0.0.1:6379> set age 18
    OK
    127.0.0.1:6379> save
    OK

AOF

前言

  • AOF(append-only log file)

    记录服务器执行的所有变更操作命令(例如set del等),并在服务器启动时,通过重新执行这些命令来还原数据集

    AOF 文件中的命令全部以redis协议的格式保存,新命令追加到文件末尾。

    优点:最大程序保证数据不丢

    缺点:日志记录非常大

配置

  1. 配置文件

    # 新建配置文件redis-6379.conf
    touch redis/conf/redis-6379.conf
    # 编辑
    vim redis/conf/redis-6379.conf
    # 参数
    daemonize yes
    port 6379
    logfile /data/6379/redis.log
    dir /data/6379
    dbfilename dbmp.rdb
    requirepass redhat
    save 900 1
    save 300 10
    save 60 10000
    appendonly yes
    appendfsync everysec

    参数解析

    appendonly yes
    appendfsync always 总是修改类的操作
    everysec 每秒做一次持久化
    no 依赖于系统自带的缓存大小机制
  2. 启动redis

    redis-server redis-6379.conf
  3. 检查redis数据目录/data/6379/是否产生了aof文件

    ls /data/6379/
  4. 登录redis-cli,写入数据,实时检查aof文件信息

    # 新开一个窗口,观察aof文件信息
    tail -f appendonly.aof # 登录redis-cli
    redis-cli -p 6380 -a xxx # -p 端口号 -a 设置的密码
    # 如果没输入密码,登录之后
    auth 密码

redis持久化 RDB与AOF的更多相关文章

  1. Linux - redis持久化RDB与AOF

    目录 Linux - redis持久化RDB与AOF RDB持久化 redis持久化之AOF redis不重启,切换RDB备份到AOF备份 确保redis版本在2.2以上 实验环境准备 备份这个rdb ...

  2. Redis持久化----RDB和AOF 的区别

    关于Redis说点什么,目前都是使用Redis作为数据缓存,缓存的目标主要是那些需要经常访问的数据,或计算复杂而耗时的数据.缓存的效果就是减少了数据库读的次数,减少了复杂数据的计算次数,从而提高了服务 ...

  3. redis持久化RDB和AOF

    Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AO ...

  4. redis持久化RDB与AOF

    redis持久化 Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失. RDB持久化 ...

  5. 配置方案:Redis持久化RDB和AOF

    Redis持久化方案 Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘.当下次Redis重启时,利 ...

  6. Redis持久化RDB和AOF优缺点是什么,怎么实现的?我应该用哪一个?

    原文http://www.ymq.io/2018/03/24/redis/ Redis是一种高级key-value数据库.数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支 ...

  7. Redis持久化RDB和AOF原理

    前言: redis持久化方式分为两种:RDB快照和AOF方式(默认为RDB模式),当Redis服务器重启的时候,会自动恢复数据,优先从AOF中恢复,其次才从RDB中恢复   一.RDB快照模式 RDB ...

  8. 15.3,redis持久化RDB与AOF

    redis持久化 Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失. RDB持久化 ...

  9. Redis(二)、Redis持久化RDB和AOF

    一.Redis两种持久化方式 对Redis而言,其数据是保存在内存中的,一旦机器宕机,内存中的数据会丢失,因此需要将数据异步持久化到硬盘中保存.这样,即使机器宕机,数据能从硬盘中恢复. 常见的数据持久 ...

随机推荐

  1. 帆软报表(finereport)JS实现cpt中详细单元格刷新

    1.刷新固定单元格  setInterval(function(){ //获取第二行第 5 列 E2 单元格对象 var _changeCell = $("tr[tridx=1]" ...

  2. c++ 聚合/POD/平凡/标准布局 介绍

    目录 前言 聚合 POD(Plain Old Data) 平凡类型(TrivialType) 要求 平凡可复制(TrivialCopyable) 要求 对于某些函数的补充说明 平凡拷贝构造函数 符合条 ...

  3. 06 jQuery

    BOM和DOM 1. 什么是BOM和DOM 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的 ...

  4. suse 12安装 python-pip

    文章目录 方法一 安装setup-tools 安装pip 方法二 配置阿里云pip源 pip安装pyotp 方法一 安装setup-tools linux-oz6w:~ # wget https:// ...

  5. INTERSPEECH 2015 | Scalable Distributed DNN Training Using Commodity GPU Cloud Computing

    一般来说,全连接层的前向和后向传递所需的计算量与权重的数量成正比.此外,数据并行训练中所需的带宽与可训练权重的数量成比例.因此,随着每个节点计算速度的提高,所需的网络带宽也随之增加.这篇文章主要是根据 ...

  6. Spring容器变化之SmartLifecycle,LifecycleProcesso接口详述

    Spring Boot run方法启动后相应的服务也随之启动,这个操作很妙.使用者都不用关心什么服务怎么启动,不管多少个服务怎么启动只要符合Spring Boot的启动规则都可以使用其run方法同一启 ...

  7. SpringBoot 自定义参数类型转换convert

    创建一个配置类.使用 @bean注入到容器中 @Bean public WebMvcConfigurer webMvcConfigurer(){ /** * 实现自定义的addConverter */ ...

  8. Python+selenium自动循环发邮件

    Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  9. 『德不孤』Pytest框架 — 4、Pytest跳过测试用例

    目录 1.无条件跳过skip 2.有条件跳过skipif 3.练习 自动化测试执行过程中,我们常常出现这种情况:因为功能阻塞,未实现或者环境有问题等等原因,一些用例执行不了, 如果我们注释掉或删除掉这 ...

  10. NTLK情感分析安装与使用的两种方式 nltk-python

    下载安装到实战详细步骤 NLTK下载安装 先使用pip install nltk 安装包 然后运行下面两行代码会弹出如图得GUI界面,注意下载位置,然后点击下载全部下载了大概3.5G. import ...