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. Noip2011 提高组 Day1 T3 Mayan游戏

    题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...

  2. JetBrains IDE 基本快捷键

    转载自:https://nextfe.com/jetbrains-ide-shortcuts/ 一个好的手艺人很熟悉他的工具.软件开发者也不例外.所以,在编程的过程中,值得了解一些键盘快捷键,以免因为 ...

  3. 【线性代数】2-2:消元(Eliminate)

    title: [线性代数]2-2:消元(Eliminate) toc: true categories: Mathematic Linear Algebra date: 2017-08-31 16:1 ...

  4. POJ - 3376 Finding Palindromes manacher+字典树

    题意 给n个字符串,两两拼接,问拼接后的\(n\times n\)个字符串中有多少个回文串. 分析 将所有正串插入字典树中,马拉车跑出所有串哪些前缀和后缀为回文串,记录位置,用反串去字典树中查询,两字 ...

  5. JVM GC之垃圾收集器

    简述 如果说收集算法时内存回收的方法论,那么垃圾收集器就是内存回收的具体实现.这里我们讨论的垃圾收集器是基于JKD1.7之后的Hotspot虚拟机,这个虚拟机包含的所有收集器如图: Serial 收集 ...

  6. 引发了未经处理的异常:读取访问权限冲突。 _First 是 nullptr。

    1.问题:程序崩溃出现错误 引发了未经处理的异常:读取访问权限冲突. _First 是 nullptr. string strreponse=0: 定义这条语句,字符串初始化错误. 自己开发了一个股票 ...

  7. IDEA checkout Git 分支 弹出 Git Checkout Problem

    1. 本地分支切换的时候(例如A切到B),会弹出来Restore workspace on branch switching 对话框,如果选择是的话,在切换分支的时候,你在当前分支(A)所做的一些还未 ...

  8. Leetcode题目152.乘积最大子序列(动态规划-中等)

    题目描述: 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6 ...

  9. MySQL之MyISAM和InnoDB

    一.区别 1.MySQL默认采用的是MyISAM. 2.MyISAM不支持事务和外键,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提 ...

  10. Flume-Spooling Directory Source 监控目录下多个新文件

    使用 Flume 监听整个目录的文件,并上传至 HDFS. 一.创建配置文件 flume-dir-hdfs.conf https://flume.apache.org/FlumeUserGuide.h ...