Redis持久化:配置与实践

redis是当前热门的内存数据库系统,基于内存实现快速数据存取,但从内存里撤出的数据到硬盘以此持久化是非常必要的,这样才能保证数据可靠性,例如在服务重启或工作机故障时,跨读取数据。下面我们介绍Redis持久化的配置与实践。

Redis支持两种持久化方案:RDB和AOF,RDB是开发者Salvatore Saníri(又译salvatore Sanfilippo)在2009年第一次提出的,基于快照的增量立即持久化;AOF是在2011年由官方实现的,基于日志的增量持久化。

RDB方式需要在redis.conf文件配置保存快照的相关参数,例如每多长时间保存一次快照,多少个keys/changes保存一次快照,和保存快照文件的目录等等,另外,RDB方式也能够由程序来启动RDB保存,例以下面的代码:

redis-cli bgsave //异步保存RDB
redis-cli save // 同步保存RDB

AOF方式也需要在redis.conf文件里配置,参数也类似RDB方式,例如每多长时间追加一第二天志,多少个commands追加一第二天志,和日志文件文件的目录等等,另外,AOF方式也可通进程序启动AOF保存,例以下面的代码:

redis-cli bgrewriteaof //异步重写AOF
redis-cli aof-rewrite //同步重写AOF

不过值得注意的是:RDB有一个缺点是会使其他客户端连接中断,由于redis会进行阻塞操作;同时AOF重写也是一个耗时的操作,所以慎重选择RDB和AOF的持久化方案,以免潜伏的性能问题。

总的来讲,Redis在持久化方案上提供了两种方式,通过设置redis.conf文件配置参数或通过利用程序来优化Redis的持久化效力,能够有效的保证Redis的稳定性与可用性,为后续的利用程序提供支持。

阅读剩余
THE END