本篇博客主要来解说一下怎样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. Linxu基本指令

    一.Linux权限的概念 Linux下有两种用户:普通用户和超级用户(). 普通用户:在linux下做有限的事情: 超级用户:可以在linux系统下做任何事情,不受限制. 普通用户的提示符是“$”,超 ...

  2. django-数据库的查询集

    1.curd(增删改查) 对于数据库,作为一名开发人员并不会感到陌生,那么数据库中的查询集是怎么一回事呢? 2.数据库的查询集 查询集这个概念存在django框架中,存在于ORM(object rel ...

  3. [洛谷P2183]巧克力

    题目大意:有n块巧克力,每块巧克力有一个大小.巧克力可以切成若干份.现在要你切成大小相等的m块,且尽可能大.求这个大小. 解题思路:我们二分巧克力切成的大小,然后计算能切成多少块,判断即可.由于最大的 ...

  4. 紫书 习题8-10 UVa 1614 (贪心+结论)

    这道题我苦思冥想了一个小时, 想用背包来揍sum/2, 然后发现数据太大, 空间存不下. 然后我最后还是去看了别人的博客, 发现竟然有个神奇的结论-- 幸好我没再钻研, 感觉这个结论我肯定是想不到的- ...

  5. 利用shell脚本添加环境变量

    在shell脚本设置了环境变量,如export LIBRARY_PATH=./lib/,执行了此脚本后, 在执行生成的可执行文件,提示错误 error while loading shared lib ...

  6. 集合框架(List和Set)

    一.概述 集合是一种可变数据项的容器,具有统一的父类接口Collection<E>(Map并没有继承之),与其子集合的关系例如以下 图.集合的特点是长度可变,能够存储多种类型的对象(不加泛 ...

  7. 作为一名Android APP开发者的自我总结

    每当接近年尾,最痛苦的工作无疑是写年终总结,写总结的同时不禁感叹这一年过得不容易阿.突然想起这一年也是自己开发Android APP的第一年,于是觉得应该给自己的APP来一个年终总结. 一.开发方面严 ...

  8. max带来的冲突

    题目要求: /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名:sum123.cpp * 作 者:林海云 * 完毕日期:20 ...

  9. jsp urlrewrite 中正則表達式不包括某个字符串写法

    因在程序中须要做城市间跳转,可是页面中包括的css.scripts和图片等路径是要排除在外的. 这就须要在正则中指定当遇到哪些 字符时须要略过. 正则例如以下: /((? !css)(?!script ...

  10. lenovo G系列重装系统

    lenovo G41 的笔记本默认安装的是win8 中文版 的操作系统,使用非常不方便,用U盘重装成WIN7的系统. 1.用启动工具软件制作U盘启动盘.  详细能够參照  http://www.uqi ...