Redis使用总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Redis使用总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2287字,纯文字阅读大概需要4分钟。
内容图文
![Redis使用总结](/upload/InfoBanner/zyjiaocheng/557/d7d34a47fce8433caaaf2acd3ae75744.jpg)
数据持久化 快照 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。 例子:要求如果每60秒有超过10
数据持久化
快照
缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。
例子:要求如果每60秒有超过1000条记录被更新,就自动将数据写到磁盘上,可以用下面的命令
SAVE 60 1000
这种策略称为快照。
工作原理
- Redis forks.
- 子进程开始将数据写到临时RDB文件中。
- 当子进程完成写RDB文件,用新文件替换老文件。
这种方式可以使Redis使用copy-on-write技术。
Append-only文件
快照模式并不十分健壮,当系统停止,或者无意中Redis被kill掉,最后写入Redis的数据就会丢失。这对某些应用也许不是大问题,但对于要求高可靠性的应用来说,Redis就不是一个合适的选择。
Append-only文件模式是另一种选择。
你可以在配置文件中打开AOF模式:
appendonly yes
每次Redis接收到修改请求(SET),就会将数据写入AOF尾部。当重启Redis时,Redis会回放AOF中的内容。
LOG重写
AOF文件会随着写操作而变得越来越大。所以Redis支持一个有趣的特性:Redis可以在后台重建AOF,同时不会中断对前端的服务。当执行命令BGREWRITEAOF,Redis会在内存中写出拥有重建数据的最少的命令序列。如果你使用AOF,你应该经常地运行BGREWRITEAOF。
AOF能做到多大程度的持久化?
你可以配置Redis多长时间将数据fsync到磁盘上,有3种选择:
- 每次有更新命令就执行fsync,这种方式非常慢,但非常安全。
- 每秒钟执行一次fsync,这种方式足够快,但是有可能丢失一秒钟的数据。
- 永远不执行fsync,有操作系统控制,这种方式更快,也更不安全。
建议的策略(缺省)是每秒钟执行一次fsync.
当AOF文件被破坏时该怎么办?
有可能在写AOF时Redis崩溃,已破坏的文件不能被Reids使用。要解决这个问题参考下面的步骤:
- 备份你的AOF文件
- 用redis-check-aof修复你的原始文件
$ redis-check-aof --fix
- 使用diff -u 检查两个文件的差异(可选)
- 使用修复后的文件重启Redis
工作机制
日志重写和快照模式使用了相同的copy-on-write机制。
- Redis forks
- 子进程开始写新的AOF文件到一个临时文件中
- 父进程将新的更新命令保存在内存中(同时将这些更新写到老的AOF文件)
- 当子进程完成写文件,父进程得到信号,将更新写到子进程创建的AOF文件
- Redis自动将AOF文件改名,使用新的AOF文件
内容总结
以上是互联网集市为您收集整理的Redis使用总结全部内容,希望文章能够帮你解决Redis使用总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。