资讯专栏INFORMATION COLUMN

Python--Redis实战:第四章:数据安全与性能保障:第1节:持久化选项

derek_334892 / 1252人阅读

摘要:为了让读者做好使用构建真实软件的准备,本章将展示维护数据安全以及应对系统故障的方法。上一篇文章实战第三章命令第七节其他命令下一篇文章实战第四章数据安全与性能保障第节快照持久化

上一篇文章:Python--Redis实战:第三章:Redis命令:第七节:其他命令
下一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第2节:快照持久化

前面的几章介绍了各式各样的Redis命令以及使用这些命令来操作数据结构的方法,还列举了几个使用Redis来解决实际问题的例子。为了让读者做好使用Redis构建真实软件的准备,本章将展示维护数据安全以及应对系统故障的方法。另外,本章还会介绍一些能够在保证数据完整性的前提下提升Redis性能的方法。

本章首先会介绍Redis的各个持久化选项,这些选项可以让用户将字节的数据存储在硬盘上面。接着本章将介绍如果通过Redis的复制特性,把不断更新的数据副本存储到附加的机器上面,从而提升系统的性能和数据的可靠性 。之后本章将会说明同时使用复制和持久化的好处和坏处,并通过这些例子来告诉读者应该如果去选择适合自己的持久化选项和复制选项。最后本章将对Reds的事务特性和流水线特性进行介绍,并讨论如果诊断某些性能问题。

阅读这一章的重点是要弄懂更多的Redis运作原理,从而学会如何在首先保障数据正确的前提下,加快数据操作的执行速度。

现在,让我们来看看Redis是如果将数据存储到硬盘里面,使得数据在Redis重启之后仍然存在的。

持久化选项

Redis提供了两种不同的持久化方法来将数据存储到硬盘里面。一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里面。另一种方法叫只追加文件(append-only file,AOF),它会在执行写命令时,将被执行的写命令复制到硬盘里面。这两种持久化方法即可以同时使用,又可以多带带使用,在某些情况下甚至可以两种方法都不使用,具体选择哪种持久化方法需要根据用户的数据以及应用的决定。

将内存中的数据存储到硬盘的一个主要原因是为了在之后重用数据,或者是为了防止系统故障而将数据备份到一个远程位置。另外,存储在Redis里面的数据有可能是经过长时间计算得出的,或者有程序在使用Redis存储的数据进行计算,所有用户希望可以将这些数据存储起来以便之后使用,这样就不必再重新计算了。对于一些Redis应用来说,“计算”可能只是简单地将另一个数据库的数据复制到Redis里面,但对于另外一些Redis应用来说,Redis存储的数据可能是根据数十亿行日志进行聚合分析得出的结果。

两组不同的配置选项控制着Redis将数据写入硬盘里面的方法。下面代码展示了这些配置选项以及他们的实例配置值:

#快照持久化选项
#多久执行一次自动快照操作
save 60 1000
#创建快照失败后是否仍然继续执行写命令
stop-writes-on-bgsave-error no
#是否对快照文件进行压缩
rdbcompression yes
#命名硬盘上的快照文件
dbfilename dump.rdb

#AOF持久化选项
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

#共享选项,这个选项决定了快照文件和AOF文件的保存位置。
dir ./

接下来的一节将介绍如何使用快照来保存数据安全。

上一篇文章:Python--Redis实战:第三章:Redis命令:第七节:其他命令
下一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第2节:快照持久化

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44988.html

相关文章

  • Python--Redis实战四章数据安全性能保障3:AOF久化

    摘要:因为文件重写也需要用到子进程,所以快照持久化因为创建子进程而导致的性能问题和内存占用问题,在持久化中也同样存在。上一篇文章实战第四章数据安全与性能保障第节快照持久化下一篇文章实战第四章数据安全与性能保障第节复制 上一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第2节:快照持久化下一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第4节:复制 ...

    李昌杰 评论0 收藏0
  • Python--Redis实战四章数据安全性能保障2:快照久化

    摘要:上一篇文章实战第四章数据安全与性能保障第节持久化选项下一篇文章实战第四章数据安全与性能保障第节持久化可以通过创建快照来获得存储在内存里面的数据在某个时间点上的副本。 上一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第1节:持久化选项下一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第3节:AOF持久化 Redis可以通过创建快照来获得存储...

    MingjunYang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<