本篇博客主要来解说一下怎样Redis中的持久化操作,当然了不是一篇理论性的博客,主要还是分享一下在redis中怎样来配置持久化操作。

 1.介绍

 redis为了内部数据的安全考虑,会把本身的数据以文本形式保存到硬盘中一份,在server重新启动之后会自己主动把硬盘的数据恢复到内存(redis)里边。数据保存到硬盘的过程就称为“持久化”效果。

 2.snap shotting 快照持久化

 这个持久化的操作在redis中是默认开启的。一次性把redis中所有的数据保存为一份存储在硬盘中,假设数据许多的话。就不适合该持久化操作。

 在redis.conf文本中能够配置频率。默认例如以下图

 save 900 1:表示900秒内假设超过1个key被改动,则发起快照保存

 save 300 10:表示300秒超过10个key被改动,发起快照

 save 60 10000:表示60秒超过10000个key被改动,发起快照

 以上3个save的意思表示。数据改动的频率很高,备份的频率也高

 最后保存的文件夹例如以下。也能够改动

 手动发起快照持久化

 在redis中,我们也能够手动的发起快照保存,来保存我们的数据,经常使用的命令例如以下

 bgsave:异步保存数据到磁盘

 lastsave:返回上次成功保存到磁盘的时间戳

 shutdown:同步保存到server并关闭redisserver

 bgrewriteaof:当日志文件过长时优化AOF日志文件存储

 #./redis-cli bgrewriteaof  #./redis-cli -h hostname -p port

3.append only file(AOF持久化)

 这个持久化操作能够把用户的每一个命令都保存到数据中,包含CRUD操作,还原数据的时候就是把这些运行运行而已

 首先须要开启AOF持久化操作,相同须要改动redis.conf文件。须要注意的是开启后会清空redis中的数据,因此在安装完redis后就须要开启AOF操作

 最后启动后,会在当前文件夹中看到appendonly.aof文件。

 AOF的追加频率

 相同须要编辑redis.conf文件,来改动AOF的追加频率。常见參数例如以下

 #appendfsync always:每次收到命令就马上强制写入磁盘。性能最慢。可是保证全然的持久化

 #appendfsync everysec:每秒钟强制写入磁盘一次,在性能和持久化方面最了很好的折中

 #appendfsync no:全然依赖操作系统,性能好的时候就持久,不好的时候就不持久化

 

Redis中的持久化操作的更多相关文章

  1. Redis | 第5章 Redis 中的持久化技术《Redis设计与实现》

    目录 前言 1. RDB 持久化 1.1 RDB 文件的创建与载入 1.2 自动间隔性保存 1.2.1 设置保存条件 1.2.2 dirty 计数器和 lastsave 属性 1.2.3 检查保存条件 ...

  2. Redis 中如何保证数据的不丢失,Redis 中的持久化是如何进行

    Redis 中数据的持久化 前言 AOF 持久化 什么是 AOF 持久化 为什么要后记录日志呢 AOF 的潜在风险 AOF 文件的写入和同步 AOF 文件重写机制 AOF 的数据还原 RDB 持久化 ...

  3. java对于Redis中jedis的操作

    package com.answer.redis; import java.util.HashMap; import java.util.List; import java.util.Map; imp ...

  4. redis中使用 check-and-set 操作实现乐观锁

    WATCH 命令可以为 Redis 事务提供 check-and-set (CAS)行为. 被 WATCH 的键会被监视,并会发觉这些键是否被改动过了. 如果有至少一个被监视的键在 EXEC 执行之前 ...

  5. redis中key键操作

    keys */查看所有的key remoteSelf:1>select 0 "OK" remoteSelf:0>keys * 1) "SUBCRIBEMAP& ...

  6. redis入门到精通系列(五):redis的持久化操作(RDB、AOF)

    (一)持久化的概述 持久化顾名思义就是将存储在内存的数据转存到硬盘中.在生活中使用word等应用的时候,如果突然遇到断电的情况,理论上数据应该是都不见的,因为没有保存的word内容都存放在内存里,断电 ...

  7. 关于Redis中的serverCron

    1.serverCron简介 在 Redis 中, 常规操作由 redis.c/serverCron 实现, 它主要执行以下操作 /* This is our timer interrupt, cal ...

  8. redis中key的过期键删除策略

    Redis过期键删除策略 Redis key过期的方式有三种: 被动删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删除掉这个过期key 主动删除:由于惰性删除策略无法保证冷数据被及时删 ...

  9. scrapy框架之持久化操作

    1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作. 执行输出指定格式进行存储: ...

随机推荐

  1. shell脚本执行的三种方式

    (1)  bash script_name 或 sh script_name    推荐使用此方法,script_name 不需要执行权限亦可执行.   (2) path/script_name 或 ...

  2. Java线程之基础

    Java内存模型(jmm) 线程通信 消息传递 重排序 顺序一致性 Happens-Before As-If-Serial 一.线程的生命周期及五种基本状态 线程生命周期:新建.就绪.运行.阻塞.死亡 ...

  3. 拉格朗日插值&&快速插值

    拉格朗日插值 插值真惨 众所周知$k+1$个点可以确定一个$k$次多项式,那么插值就是通过点值还原多项式的过程. 设给出的$k+1$个点分别是$(x_0,y_0),(x_1,y_1),...,(x_k ...

  4. Oralce 视图 view

    Oracle视图 Oracle的数据库对象分为五种:表,视图,序列,索引和同义词. 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表 ...

  5. Python+Appium来写app自动化脚本

    1...........................我有空再补

  6. Vue中如何监控某个属性值的变化?

    比如现在需要监控data中, obj.a 的变化.Vue中监控对象属性的变化你可以这样: deep属性表示深层遍历,但是这么写会监控obj的所有属性变化,并不是我们想要的效果,所以做点修改: 还有一种 ...

  7. 【Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B】 Code For 1

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 把序列生成的过程看成一颗树 会发现最后形成的是一颗二叉树. 每个二叉树上的节点就对应了序列中的一个数字. 如果我们把每个节点都往下投 ...

  8. 没用私服,自己安装下本地jar包,制作坐标

    没用私服的话,自己安装下本地jar包吧.执行下面命令即可. -Dfile 代表jar存在路径.mvn install:install-file -DgroupId=alipay -DartifactI ...

  9. 第8章2节《MonkeyRunner源代码剖析》MonkeyRunner启动执行过程-解析处理命令行參数

    MonkeyRunnerStarter是MonkeyRunner启动时的入口类,由于它里面包括了main方法.它的整个启动过程主要做了以下几件事情: 解析用户启动MonkeyRunner时从命令行传输 ...

  10. 转:iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)

    iosiOSIOS文档服务器测试电话 由于app内需要用到支付功能,选择了当前最流行的支付宝进行支付.在进行内嵌支付宝功能开发时,被它狠狠的耍了一把. 根据支付宝开发文档,参考demo代码.将相关支付 ...