Redis数据持久化

Redis的特性: 易扩展,大数据高性能,多样灵活的数据模型,受限内存

Redis默认端口: 6379

Redis数据持久化分为有两种:

RDB: 每隔一段时间就把内存数据写入磁盘,如果是备份的话就反过来,从文件中把数据读到内存中。在进行持久化的时候,会由父进程fork出一个子进程,子进程会把数据保存到一个临时文件中,等到持久化完成,就用临时文件替换上次持久化的文件。这一过程中父进程不进行任何的IO流操作

如何触发RDB的操作?

(1)直接输入save

(2)flush操作

(3)触发redis.conf中的配置   save seconds changes

  • 900s内有一次修改,300s内有10次修改,60s内有10000次修改。都会触发RDB。如果不想使用策略可以save ""

AOF: append only file 是一种只追加文件,用日记的形式来记录每一个写操作,将Redis执行的写指令记录下来。改文件只允许追加,不允许修改。当AOF文件到达一定大小(文件大于上一次rewrite文件的100%,并且大于64M)的时候会进行rewrite。rewrite是指把aof文件的内容进行压缩,指保留可以回复数据的最小指令,可以使用bgrewriteaof。重写的原理也是先写临时文件最后再替换,重写的时候并没有读取旧的aod文件,而是把内存中的数据用命令又重写了一份保存到新的AOF文件中。

AOF的fsync策略

Always:同步持久化,每次数据发生变更的时候就会记录到磁盘中,性能较差数据完整

Everysec:默认设置,异步操作,每秒就记录一次。但是如果宕机会损失一秒的操作

no: 不持久化

RDB和AOF的优缺点?

RDB:恢复速度快,但是可能会丢失数据

AOF:数据完整性高,但是恢复速度慢。具有重写机制,以至于AOF文件不至于过大

当数据量大并且不是特别关注数据完整性的时候,选择rdb。对数据完整性要求较高的时候,选择AOF。

RDB和AOF是否可以共存

可以,但是重启redis的时候默认会先找AOF文件恢复

Redis缓存过期策略:

Maxmemory-policy :redis容量超过设置值的时候

1. Volatile-lru: IRU算法移除key,只针对设置过期时间

2. Allkeys-LRU: 对于所有的key用LRU算法移除

3. Volatile-ramdon: 对设置了过期时间的,进行随机删除

4. allkeys-ramdon:所有键值对进行随机删除

5. volatile-ttl:最小ttl进行删除

6. noeviction: 不进行移除,针对写操作,只是返回错误信息

noeviction [ɪ'vɪkʃn]

知识点小记:

  • 当持久化文件错误的时候,可以用工具修复

    redis-check-aof

    redis-check-dump

  • redis日志有4个级别:debug verbose notice warning

  • 默认最大连接数maxclient 10000

【Redis】Redis持久化的更多相关文章

  1. Redis总结(四)Redis 的持久化

    前面已经总结了Redis 的安装和使用今天讲下Redis 的持久化. redis跟memcached类似,都是内存数据库,不过redis支持数据持久化,也就是说redis可以将内存中的数据同步到磁盘来 ...

  2. Redis的持久化的两种方式drbd以及aof日志方式

    redis的持久化配置: 主要包括两种方式:1.快照  2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...

  3. redis启用持久化

    redis的持久化有rdb和aof两种. rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化. aof可以实现每次操作都持久化. 这里我们使用aof. 配置方式,打开redis ...

  4. redis + 主从 + 持久化 + 分片 + 集群 + spring集成

    Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...

  5. Redis笔记(八)Redis的持久化

    Redis相比Memcached的很大一个优势是支持数据的持久化, 通常持久化的场景一个是做数据库使用,另一个是Redis在做缓存服务器时,防止缓存失效. Redis的持久化主要有快照Snapshot ...

  6. 深入剖析 redis AOF 持久化策略

    本篇主要讲的是 AOF 持久化,了解 AOF 的数据组织方式和运作机制.redis 主要在 aof.c 中实现 AOF 的操作. 数据结构 rio redis AOF 持久化同样借助了 struct ...

  7. 深入剖析 redis RDB 持久化策略

    简介 redis 持久化 RDB.AOF redis 提供两种持久化方式:RDB 和 AOF.redis 允许两者结合,也允许两者同时关闭. RDB 可以定时备份内存中的数据集.服务器启动的时候,可以 ...

  8. redis 数据持久化

    1.快照(snapshots) 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb.你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据 ...

  9. redis的持久化之AOF

    AOF Redis 分别提供了 RDB 和 AOF 两种持久化机制: RDB 将数据库的快照(snapshot)以二进制的方式保存到磁盘中. AOF 则以协议文本的方式,将所有对数据库进行过写入的命令 ...

  10. redis的持久化方式RDB和AOF的区别

    1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能, ...

随机推荐

  1. 日期与时间(C/C++)

    C++继承了C语言用于日期和时间操作的结构和函数,使用之前程序要引用<ctime>头文件 有四个与时间相关的类型:clock_t.time_t.size_t.和tm.类型clock_t.s ...

  2. 7.13 T2 Shit 题(shit)

    [题目描述] 某一天,小

  3. 理清gcc、libc、libstdc++的关系

    当你在linux下写C/C++代码的时候,是不是会遇到许多编译链接的问题? 时不时报个glibc,gcc,g++等相关的错误? 很多时候都无从下手,而且比较混乱. 这也是编译链接过程中经常出现的问题. ...

  4. STL漫谈

    从现在开始,想写一个关于STL工具的各种tip类的东西,记录下那些细节,以免以后使用STL工具时出错. 1.关于map,如果需要第一个键值需要放进一个结构体,那么结构体是需要写好其自定义的排序规则的, ...

  5. Palindrome Degree(CodeForces 7D)—— hash求回文

    学了kmp之后又学了hash来搞字符串.这东西很巧妙,且听娓娓道来. 这题的题意是:一个字符串如果是回文的,那么k值加1,如果前一半的串也是回文,k值再加1,以此类推,算出其k值.打个比方abaaba ...

  6. python 快速排序-代码示例

    def quick_sort(alist, first, last): if first >= last: # 如果开始等于结尾,即就一个元素 return mid_value = alist[ ...

  7. Java终止线程的三种方式

    停止一个线程通常意味着在线程处理任务完成之前停掉正在做的操作,也就是放弃当前的操作. 在 Java 中有以下 3 种方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,也就是当 run() 方 ...

  8. Flume-Failover Sink Processor 故障转移与 Load balancing Sink 负载均衡

    接上一篇:https://www.cnblogs.com/jhxxb/p/11579518.html 使用 Flume1 监控一个端口,其 sink 组中的 sink 分别对接 Flume2 和 Fl ...

  9. 如何将ubuntu16.04升级到ubuntu 18.04?

    答:步骤如下: 1. sudo apt update (更新软件源) 2. sudo apt upgrade (更新内核相关的包) 3. sudo apt dist-upgrade 4.  sudo ...

  10. 001-tomcat下载、解压、启动、开机启动

    一.tomcat作用 Tomcat就是Servlet容器 下载解压 下载:找到合适版本下载使用即可 http://tomcat.apache.org/ window 下载zip解压 linux上使用 ...