`

redis持久化策略

 
阅读更多

redis作为一个支持持久化的内存数据库,常用作cache。

 

redis持久化方式:1 Snapshotting(快照) 2 Append-only file(aof)

 

Snapshotting 是默认的持久话方式,此方式是将内存中的数据以快照的方式写入到二进制文件中,默认文件名为dump.rdb。可以通过修改配置文件设置自动快照方式。

 

Java代码 收藏代码
  1. save 900 1 #900秒内如果发生超过一个key被修改,则发起快照保存
  2. save 300 10 #300秒内如果发生超过10个key被修改,则发起快照保存
  3. save 60 10000 #60秒内如果发生超过10000个key被修改,则发起快照保存

优点:快照易回复,而且文件小

缺点:当redis挂掉后会丢掉最后一次快照到挂掉时的数据

 

AOF比RDB方式有更好的持久化性。此方式是Redis会将没一个收到的写命令都通过write函数追加到文件中,类似于MySQL中的 binlog。默认写入文件为:appendonly.aof。当redis重启时会通过执行文件中保存的写命令来在内存中重建整个数据库内容。

 

Java代码 收藏代码
  1. appendonly yes #启用AOF持久化方式
  2. appendfilename appendonly.aof #AOF文件的名称,默认为appendonly.aof
  3. # appendfsync always #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。
  4. appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。
  5. # appendfsync no #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。

优点:更好的持久化,redis挂掉后只丢失最后1s的文件

缺点:持久化文件会变的越来越大

 

对持久化文件越来越大的解决方法:

为了压缩AOF的持久化文件,Redis提供了bgrewriteaof命令。
收到此命令后Redis将使用与快照类似的方式将内存中的数据以命令的方式保存到临时文件中,最后替换原来的文件,以此来实现控制AOF文件的增长。
由于是模拟快照的过程,因此在重写AOF文件时并没有读取旧的AOF文件,而是将整个内存中的数据库内容用命令的方式重写了一个新的AOF文件

 

Java代码 收藏代码
  1. no-appendfsync-on-rewrite yes #在日志重写时,不进行命令追加操作,而只是将其放在缓冲区里,避免与命令的追加造成DISK IO上的冲突。
  2. auto-aof-rewrite-percentage 100 #当前AOF文件大小是上次日志重写得到AOF文件大小的二倍时,自动启动新的日志重写过程。
  3. auto-aof-rewrite-min-size 64mb #当前AOF文件启动新的日志重写过程的最小值,避免刚刚启动Reids时由于文件尺寸较小导致频繁的重写。

 

AOF and RDB persistence can be enabled at the same time without problems.
按照我的理解两个可以同时使用。
只是如果有配置AOF,重启时,默认会从aof恢复

 

这里有个问题,就要大家斟酌了,如果即用了快照也用了追加日志方式,redis是两种策略都使用。但是都用性能方面就要考虑了。建议大家只用AOF方式来处理redis的持久化策略

分享到:
评论

相关推荐

    Redis持久化策略详解

    Redis持久化策略详解

    Redis持久化策略与AOF机制详解

    内容概要:本文详细介绍了Redis的持久化策略,特别是RDB(Redis Database Backup)和AOF(Append Only File)两种主要的持久化方法。RDB通过在某个时间点创建数据集的快照来实现数据持久化,其优点包括数据恢复快、...

    Redis持久化策略全解析:备份与恢复的终极指南

    2. **持久化**:尽管 Redis 是一个内存数据库,但它提供了持久化机制,可以将内存中的数据保存到磁盘,防止数据丢失。 3. **支持事务**:Redis 支持简单的事务功能,可以保证操作的原子性。 4. **丰富的数据类型**:...

    Redis的持久化方案

    Redis持久化的配置和管理涉及多个方面的知识,包括但不限于配置文件的设置、内存管理、文件系统的性能、以及操作系统的相关策略等。用户应充分了解这些知识点,以确保Redis能够稳定且高效地运行。

    redis持久化方式

    ### Redis持久化方式详解 Redis 是一款高性能的键值存储系统,因其卓越的读写速度、丰富的数据结构以及灵活的应用场景而备受青睐。为了保证数据的安全性和持久性,Redis 提供了两种主要的持久化机制:RDB 快照...

    解密Redis持久化

    Redis提供了两种主要的持久化策略:RDB(Redis Database Snapshots)和AOF(Append Only File)。 RDB快照是Redis的一种定期全量持久化方式。它通过`fork`创建子进程,子进程遍历内存中的数据并生成一个新的RDB文件...

    02-Redis持久化、主从与哨兵架构详解.zip

    Redis是一款高性能的键值对内存数据库,常用于缓存、消息队列以及数据持久化等场景。本资料包主要探讨Redis的三个核心概念:持久化、主从复制和哨兵架构,这些都是确保Redis高可用性和数据安全的重要机制。 首先,...

    06_redis 持久化.pdf

    Redis持久化是指利用永久性存储介质将Redis内存中的数据保存到磁盘上的过程,以防止数据的意外丢失,确保数据的安全性。其主要目的就是在Redis服务出现意外情况下,能够通过持久化存储的数据进行恢复,保证业务的...

    Redis windows 测试redis持久化功能1

    Redis 是一个高性能的键值数据库,广泛应用于缓存、数据持久化等场景。在 Windows 上测试 Redis 的持久化功能,主要是确保数据在系统...同时,根据实际需求,你还可以调整持久化策略,找到性能和安全性之间的平衡点。

    Redis 持久化机制及其实现方案详解

    ②根据业务需求选择合适的持久化策略,确保数据不丢失;③了解如何配置和优化持久化性能。 其他说明:文章详细介绍了RDB和AOF两种持久化方式的具体流程和优劣势,有助于读者在实际工作中灵活应用。

    Redis持久化、主从与哨兵架构详解.pdf

    Redis持久化机制包括RDB快照和AOF(Append Only File)两种方式,它们有不同的特点和使用场景,下面将详细分析这两种机制。 首先,RDB是通过创建数据集的快照来进行持久化的,在默认情况下,Redis会在内存中存储...

    Redis持久化以及集群部署

    ### Redis 持久化与集群部署探讨 #### 一、Redis 持久化机制 Redis 提供了两种持久化方式:RDB(Redis Database Backup)和 AOF(Append Only File)。这两种机制各有特点,适用于不同的场景。 ##### 1. RDB...

    Redis 持久化之RDB和AOF.doc

    Redis 持久化是确保数据安全的重要机制,它提供了两种主要的方法:RDB(Redis Database)和 AOF(Append Only File)。RDB 是一种快照式的持久化方式,而 AOF 则记录每次写操作的日志。 RDB 持久化在特定条件下将...

    redis 可持久化 Key-Value数据库

    用户可以根据应用场景的需求选择适合的持久化策略,或者结合使用以达到更好的平衡。 Redis还支持网络通信,意味着它可以作为一个分布式缓存系统在多台服务器之间同步数据,通过主从复制和Sentinel哨兵系统实现高...

    从源码解读redis持久化

    【Redis持久化机制详解】 Redis作为一种高性能的内存数据库,其数据存储在内存中,因此面临一个问题:当系统崩溃或服务器意外关机时,内存中的数据可能会丢失。为了解决这个问题,Redis提供了两种主要的持久化机制...

    redis持久化和内存策略1

    然而,内存中的数据在服务器断电或宕机后会丢失,因此,为了保证数据的持久性,Redis 提供了两种持久化策略:RDB(Redis Database Backup)模式和AOF(Append Only File)模式。 **RDB 模式** RDB 是一种快照式的...

    redis持久化.rar

    本压缩包包含了关于Redis两种主要持久化方式——RDB(Redis Database Backup)和AOF(Append Only File)的详细文档。 一、RDB持久化 RDB是Redis的一种快照持久化方式。它会在特定时间点或满足特定条件时,将当前...

    Redis持久化和开机自启动配置

    本文将深入探讨Redis的持久化机制以及如何设置Redis服务器在系统启动时自动运行。 首先,Redis提供了两种主要的持久化方式:RDB(Redis Database Backup)和AOF(Append Only File)。RDB是在特定时间点生成数据的...

    Redis教程-Redis持久化.docx

    ### Redis 持久化详解 #### 一、引言 Redis 作为一款高性能的键值存储系统,广泛应用于各种场景中的数据...实际使用中,可以根据业务需求选择合适的持久化策略,甚至结合两者的优势,实现更加灵活的数据管理方案。

Global site tag (gtag.js) - Google Analytics