Redis学习(8)-redis持久化
内存(兔子):高效,断电数据丢失
硬盘(乌龟):读写速度慢于内存的,断电数据依旧存在
持久化:把数据保存在硬盘上
关系型数据库:MySQL-持久化:
- 任何操作都是硬盘上,断电以后,硬盘上数据还在。
非关系型数据库:redis
- 增删改查,数据都是在内存上进行操作。
- 断电后内存中的数据不存在。
- 断电后:redis的部分数据会丢失,丢失的数据是保存在内存中的,部分保存在硬盘上
- redis存在持久化操作
Redis两种持久化策略:RDB,AOF
默认持久化机制:RDB
RDB:使用快照方式保存数据
RDB相当于快照,保存的仅是一种状态。
20G数据--> 几Kb快照

优点:
1,快照保存数据速度极快,还原数据速度极快。
2,适用于灾难备份(rdb文件小,备份rdb文件速度很快)。
缺点:
RDB机制符合要求就会照快照(随时随地启动),会占用一定系统资源(突然的),很可能内存不足,直接宕机(宕机后,服务器关闭,非正常关闭,内存中的数据也因此没了)。
适用于:内存比较充裕的计算机。
RDB何时进行照快照:
1,服务器关闭时,照快照。 ./bin/redis-cli shutdown
2,key满足一定条件,会照快照。

AOF:使用日志功能保存数据操作
redis同步了三种同步策略:每秒同步,每修改同步,和不同步。
AOF配置:
no 不同步:高效,但是不进行持久化(默认)
everysec 每秒同步:每秒进行一次AOF保存数据
always 每修改同步:只要有key变化语句,就进行AOF保存数据。
适用于:内存空间较小的计算机。
AOF操作:只会保存导致key变化的语句。
启用AOF
修改redis.conf,配置文件,如下俩个截图:

策略选择:

优点:
1,持续性占用极少量的内存资源。
缺点:
1,日志文件会比较大。
2,不适用于灾难容灾(日志文件大,拷贝慢)
Redis学习(8)-redis持久化的更多相关文章
- redis学习系列——redis持久化
1.写操作的流程 2.RDB快照-redis的第一个持久化策略 第一种是以快照的形式持久化到本地磁盘(RDB文件). 持久化策略是: 1.配置(save N M)在N秒内,redis至少发生M次修改, ...
- Redis学习笔记9--Redis持久化
redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...
- Redis学习-redis概述
最近刚刚接触了redis技术,对此有一些了解,这是简单做一点总结. Redis简介 首先,简单了解一下NoSQL(Not only sql),不要错误的理解为:没有SQL,而是不仅仅是SQL.NoSQ ...
- redis学习之——redis.conf配置(基本)文件学习
# Redis configuration file example # Note on units: when memory size is needed, it is possible to sp ...
- Redis学习笔记~Redis主从服务器,读写分离
回到目录 Redis这个Nosql的存储系统一般会被部署到linux系统中,我们可以把它当成是一个数据服务器,对于并发理大时,我们会使用多台服务器充当Redis服务器,这时,各个Redis之间也是分布 ...
- redis学习笔记-redis的安装
Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...
- Redis学习笔记-Redis内部数据结构
Redis内部数据结构 Redis和其他key-value数据库的很大区别是它支持非字符串类型的value值.它支持的value值的类型如下: sds (simple dynamic string) ...
- redis学习三 redis持久化
1,快照持久化 1简介 redis可以通过创建快照来获得某个时间点上的内存内容的数据副本,有了副本之后,就可以将副本发送到其他redis服务器上从而创建相同数据的从服务器,同时快照留在原 ...
- Redis学习笔记(一)-持久化
一.RDB持久方式 RDB持久化是把当前进程的数据已快照的形式保存到硬盘的过程. 触发方式: 1.手动触发命令:save和bgsave save:阻塞式,内存较大的实例在执行过程中会造成长时间的阻塞, ...
- Redis学习笔记--Redis数据过期策略详解
本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存sessi ...
随机推荐
- ActiveMQ使用示例之Queue
我们使用ActiveMQ为大家实现一种点对点的消息模型. 开发时候,要将apache-activemq-5.12.0-bin.zip解压缩后里面的activemq-all-5.12.0.jar包加入到 ...
- Objective-C:NSMutableArray类的常见操作
可变数组NSMutableArray的内容大小是可变的,因此它的常见操作无非增删该查, 具体一些就是:创建.添加.删除.替换.插入.清空等等.. // // main.m // 02-NSMuta ...
- OpenCV学习(26) 直方图(3)
本章中我们学习一下通过backproject直方图,得到一副图像中每个像素属于该直方图的概率.在下边原始图中(左图),我们框选了一块四边形的区域,计算该区域的灰度直方图,然后通过下面的函数calcBa ...
- parameter server学习
关于parameter server的学习: https://www.zybuluo.com/Dounm/note/517675 机器学习系统相比于其他系统而言,有一些自己的独特特点.例如: 迭代性: ...
- 《Linux总线、设备与驱动》USB设备发现机制
说明:本分析基于mstar801平台Linux2.6.35.11内核,其他内核版本仅供参考. 一.程序在内核中的位置 1.usb host做为pci总线下的一个设备存在(嵌入式系统中有可能也会直接挂在 ...
- VB.NET与C# 语法区别展示
在学习VB.NET后发现,VB.NET与C#的语法主要的不同在两个部分,这两部分搞通了,那就游刃有余,迎刃而解了.现将其对比总结如下: 一.实体部分 (与VB相比,在C#和VB.NET中,实体的使用很 ...
- 在C#中使用属性控制 XML 序列化来解析XML
今天需要解析一个XML,这个XML和一般情况用.NET的序列化出来的格式不太一样. 我就又补习了一下. 分享一下学习成果吧. 示例代码下载: http://download.csdn.net/deta ...
- golang struct转map
struct转map package main import ( "fmt" "reflect" "time" ) type User st ...
- Android -- ImageLoader简析
图片的内存缓存实现 Image-Loader库有一个较完整的内存缓存实现,使用者可以根据需要选择已经实现的策略,也可以定制自己项目中需要的策略. 内存缓存实现代码在memory和memory.impl ...
- 如何使用动画和精灵表单 Cocos2d-x 2.1.4
本文实践自 Ray Wenderlich.Tony Dahbura 的文章< How to Use Animations and Sprite Sheets in Cocos2D ...