一、持久化概念

  • 所有的数据都存在内存中,从内存当中同步到硬盘上,这个过程叫做持久化过程。
  • 使用方法:

    1.   rdb持久化方法:在指定的时间间隔写入硬盘

    2.         aof方式:将以日志,记录每一个操作,服务器启动后就构建数据库。

二、RDB方式

  • Redis是默认支持的
  • 优势:只有一个文件,时间间隔的数据,可以归档为一个文件,方便压缩转移(就一个文件)

    劣势:如果宕机,数据损失比较大,因为它是没一个时间段进行持久化操作的。也就是积攒的数据比较多,一旦懵逼,就彻底懵逼了

  • 这里save 900 1 表示 每900秒内至少有1个ker发生变化,就持久化

    save 300 10表示 每300秒内至少有10个key发生变化,就持久化

    save 60 10000表示 每60秒内至少有10000个key发生变化,就持久化

  • 这里有个dbfilename配置 是 保存的持久化的文件名 默认是dump.rdb

  • dir ./ 表示文件存储路径是当前路径;

三、Redis 数据备份与恢复

  3.1  数据备份

  • 语法

redis Save 命令基本语法如下:

127.0.0.1:6379> SAVE 
  • 实例

 127.0.0.1:6379> SAVE
OK

该命令将在 redis 备份目录中创建dump.rdb文件。


  3.2  恢复数据

  • 1、获取备份目录
 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "D:/Radis"

以上命令 CONFIG GET dir 输出的 redis 备份目录为D:/Radis。

2、停止redis服务


 127.0.0.1:6379> shutdown

3、拷贝备份文件到 D:/Radis 目录下

4、重新启动redis服务

5、已经全部搞定了,下面查看一下数据是否恢复了吧

127.0.0.1:6379> dbsize
(integer) 12
127.0.0.1:6379> keys *
1) "name"
2) "set-key"
3) "item"
4) "test-key3"
5) "test-key2"
6) "hash-key"
7) "test-key1"
8) "key3"
9) "list-key"
10) "key4"
11) "key1"
12) "list-key2"

  3.3  总结

平时我们可以定期把rdb文件(不重要的数据)备份到指定地方,需要恢复的时候 直接把rdb搞到redis下即可。而重要的数据则存放到数据库中。

(七)Redis之持久化之RDB方式的更多相关文章

  1. Redis的持久化之RDB方式

    RDB方式 Redis是默认支持的 优势:只有一个文件,时间间隔的数据,可以归档为一个文件,方便压缩转移(就一个文件) 劣势:如果宕机,数据损失比较大,因为它是没一个时间段进行持久化操作的.也就是积攒 ...

  2. (八)Redis之持久化之AOF方式

    一.概念 AOF方式:将以日志,记录每一个操作 优势:安全性相对RDB方式高很多: 劣势:效率相对RDB方式低很多: 二.案例 appendonly no默认关闭aof方式 我们修改成yes 就开启 ...

  3. Redis:持久化之RDB和AOF

    Redis:持久化之RDB和AOF RDB(Redis DataBase) 在指定的时间间隔内将内存中的数据集快照写入硬盘 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. R ...

  4. redis的持久化之RDB的配置和原理

    Redis优秀的性能是由于其将所有的数据都存储在内存中,同样memcached也是这样做的,内存中的数据会在服务器重启后就没有了,也就是不能保证持久化.但是为什么Redis能够脱颖而出呢,很大程度上是 ...

  5. 11、Redis的持久化(RDB、AOF)

    写在前面的话:读书破万卷,编码如有神 --------------------------------------------------------------------------------- ...

  6. NoSql数据库Redis系列(3)——Redis数据持久化(RDB)

    大家都知道 Redis 是一个内存数据库,所谓内存数据库,就是将数据库中的内容保存在内存中,这与传统的MySQL,Oracle等关系型数据库直接将内容保存到硬盘中相比,内存数据库的读写效率比传统数据库 ...

  7. 详细分析Redis的持久化操作——RDB与AOF

    一.前言   由于疫情的原因,学校还没有开学,这也就让我有了很多的时间.趁着时间比较多,我终于可以开始学习那些之前一直想学的技术了.最近这几天开始学习Redis,买了本<Redis实战>, ...

  8. redis的持久化(RDB与AOF)

    1.为什么redis要实现持久化? 避免因宕机.断电等场景导致进程退出后数据丢失,如果redis的数据都只存放于内存,那么进程退出后数据就丢失了.持久化机制可以持久化内存数据到硬盘,重启redis后基 ...

  9. Redis的持久化之RDB

    1.什么是Redis的持久化 Redis是一种高级key-value数据库,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,所以Redis的所有数据都 ...

随机推荐

  1. Vue学习手记02 - 路由

    1.项目  注意:项目在初始化的时候没有安装vue-router就需要进行安装 2.安装路由: 在项目中使用ctrl+`, 打开终端, 执行如下命令 npm i vue-router -S 或者 cn ...

  2. php过滤表情符号

    <?php $clean_text = ""; // Match Emoticons $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u' ...

  3. GCC编译流程及常用编辑命令

    GCC 编译器在编译一个C语言程序时需要经过以下 4 步: 将C语言源程序预处理,生成.i文件. 预处理后的.i文件编译成为汇编语言,生成.s文件. 将汇编语言文件经过汇编,生成目标文件.o文件. 将 ...

  4. <javaScript>document.body为null的问题

    虽然body是JS中的DOM技术中所有浏览器支持的属性,但在我们的代码编写中,还是会碰到document.is null问题 例如:我们可以使用alert(document.body);的时候,就会提 ...

  5. Java并发包之线程池概述

    前言 线程池的作用就是将线程的管理.创建.销毁等操作与线程需要执行的任务隔离开来,从而避免线程频繁的创建与销毁,以及大量的线程的上下文切换造成的资源损耗.关于Java并发包中的线程池部分,我把它们分为 ...

  6. C#-片段-插入片段:Visual C#

    ylbtech-C#-片段-插入片段:Visual C# 1.返回顶部 ·#if #if true #endif ·#region #region MyRegion #endregion · 2.返回 ...

  7. 20Flutter通过TabController定义顶部tab切换,介绍生命周期函数

    基本使用: import 'package:flutter/material.dart'; class TabBarControllerPage extends StatefulWidget { Ta ...

  8. 0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例

    这里的feign依然是原来的feign,只不过将注册中心由eureka换成了nacos.服务提供方参见0.9.0.RELEASE版本的spring cloud alibaba nacos实例,消费方跟 ...

  9. office激活方式,超简单

    只需要安装个小小的程序,亲测安全可靠 详情点击下方链接 https://blog.csdn.net/weixin_40941966/article/details/80872533

  10. Django——models中导入数据重复的解决办法

    如果你导入数据过多,导入时出错了,或者你手动停止了,导入了一部分,还有一部分没有导入.或者你再次运行上面的命令,你会发现数据重复了,怎么办呢? django.db.models 中还有一个函数叫 ge ...