redis的持久化

redis的持久化

Redis将内存存储和持久化存储相结合,即可提供数据访问的高效性,又可保证数据存储的安全性。

redis持久化机制:

1)RDB持久化:

该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。

2)AOF持久化:

该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。

3)同时应用AOF和RDB

4)无持久化:

可通过配置的方式禁用Redis服务器的持久化,这样我们就可以将Redis视为一个功能加强版的memcached了。

Memcached
是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。

RDB 机制的优势和劣势

RDB存在哪些优势呢?

1)数据的备份和恢复非常方便,因为一个数据库只有一个持久化文件

2)性能最大化。对于Redis的服务进程而言,在开始持久化时,它唯一需要做的只是fork出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行IO操作了

3)相当于AOF机制,如果数据集很大,RDB的启动效率会更高。

RDB存在哪些劣势呢?

1)系统一旦在定时持久化之前出现宕机现象,此前没有来得及写入磁盘的数据都将丢失。

2)由于RDB是通过fork子进程来协助完成数据持久化工作的,因此,如果当数据集比较大时,可能会导致整个服务器停止服务几百毫秒,甚至1秒钟。

AOF机制的优势和劣势:

AOF的优势有哪些呢?

1)该机制可以带来更高的数据安全性,即数据持久性。Redis中提供了3种同步策略,即每秒同步每修改同步不同步。

2)对日志文件的写入操作采用的是append模式,因此在写入过程中即使出现宕机现象,也不会破坏日志文件中已经存在的的内容。
3)如果日志过大,Redis可以自动启用rewrite机制迅速“瘦身”(也可手动触发aof的rewrite操作,命令:bgrewriteaof)
4)AOF日志格式清晰、易于理解,很容易用AOF日志文件完成数据的重建。

AOF的劣势有哪些?

1)对于相同数量的数据集而言,AOF文件通常要大于RDB文件

2)根据同步策略的不同,AOF在运行效率上往往会慢于RDB。总之,每秒同步策略的效率是比较高的,同步禁用策略的效率和RDB一样高效

持久化相关配置

1.RDB快照方式

缺省情况下,Redis会将数据集的快照dump到dump.rdb文件中。此外,我们也可以通过配置文件来修改Redis服务器dump快照的频率,在打开redis.conf文件之后,我们搜索save,可以看到下面的配置信息:

save 900 1
#在900秒(15分钟)之后,如果至少有一个1个key发生变化,则dump内存快照
save 300 10
#在300秒(5分钟)之后,如果至少有一个10个key发生变化,则dump内存快照
save 60 10000
#在60秒(1分钟)之后,如果至少有一个10000个key发生变化,则dump内存快照

2.AOF日志文件方式:

AOF 日志持久化机制的开启
将appendonly no 改为appendonly yes,开启AOF之后,会读取aof文件中的内容。

AOF同步方式的配置
在Redis的配置文件中存在三种同步方式,它们分别是:
appendfsync always #每次有数据修改发生时都会写入AOF文件。

appendfsync everysec #每秒钟同步一次,该策略为AOF的缺省策略。

appendfsync no #从不同步。高效但是数据不会被持久化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值