本篇博客主要来解说一下怎样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. pthread_cleanup_push vs Autorelease VS 异常处理

    黑幕背后的Autorelease http://www.cnblogs.com/feng9exe/p/7239552.html objc_autoreleasePoolPush的返回值正是这个哨兵对象 ...

  2. (WC2018模拟十二)【FJOI2016集训Day7T2】点对游戏

    题解: 还好...看懂题目就好做了.(Orzdyh) 首先选择的点是等概率随机的,也就是说每种选择结果的概率都是一样的,所以选择一个点的时候已经选择的点不会有影响,那么就可以直接算出点对个数再求总体的 ...

  3. luogu P1375 小猫(卡特兰数)

    题意 (n<=200000) 题解 把DP转移方程写出来,这不是卡特兰数吗?然后就解决了. 做完这题我发现 DP真是一个好东西. (公式连乘所以中间要加mod要不爆longlong了) #inc ...

  4. Linux Shell脚本编程-信号捕获

    bash编程的信号捕获:  kill -l 显示当前系统可用信号(trap -l)  获取帮助:man 7 single 常用信号: 1) SIGHUP  无须重启进程而让其重读配置文件  2) SI ...

  5. Ubuntu 16.04 Chrome浏览器安装flash player插件

    1:官网下载插件  flash palyer lash_player_npapi_linux_debug.x86_64.tar.gz 2:解压 提取 libpepflashplayer.so 3:手动 ...

  6. python set元素访问

    python中集合set主要利用其唯一性,及并集|.交集&等操作,但不可以直接通过下标进行访问,必须访问时可以将其转换成list再访问 x={1,2,5} y=list(x) a=y[1] a ...

  7. How to customize Skin Gallery - Remove / rename skins and groups

    1. REMOVE (HIDE) A SPECIFIC SKIN Traverse through the gallery group collection, then through its gal ...

  8. ITOO右击菜单实现

    ITOO做了持续了这么长时间,client使用MVC+EF+EasyUI框架,服务端在三层基础上增加WCF服务,后来增加容器,AOP(还没怎么接触),封装了在我们刚開始看来神奇的底层方法,克服了非常多 ...

  9. Node.js能够做什么?

    正如 JavaScript 为client而生.Node.js 为网络而生.Node.js 能做的远不止开发一个网 站那么简单,使用 Node.js,你能够轻松地开发:  具有复杂逻辑的站点:  ...

  10. Ext4.1 chart的使用

    var reportsPanel = Ext.create('Ext.panel.Panel', { id:'reportsPanel',    layout: 'fit',    tbar: [{ ...