您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

redis中持久化方案有哪些

2025/12/18 13:55:04发布40次查看
持久化方式有哪些?有什么区别?redis持久化方案分为rdb和aof两种。
rdbrdb持久化可以手动执行也可以根据配置定期执行,它的作用是将某个时间点上的数据库状态保存到rdb文件中,rdb文件是一个压缩的二进制文件,通过它可以还原某个时刻数据库的状态。由于rdb文件是保存在硬盘上的,所以即使redis崩溃或者退出,只要rdb文件存在,就可以用它来恢复还原数据库的状态。
可以通过save或者bgsave来生成rdb文件。
save命令会阻塞redis进程,直到rdb文件生成完毕,在进程阻塞期间,redis不能处理任何命令请求,这显然是不合适的。
bgsave则是会fork出一个子进程,然后由子进程去负责生成rdb文件,父进程还可以继续处理命令请求,不会阻塞进程。
aofaof和rdb不同,aof是通过保存redis服务器所执行的写命令来记录数据库状态的。
aof通过追加、写入、同步三个步骤来实现持久化机制。
当aof持久化处于激活状态,服务器执行完写命令之后,写命令将会被追加append到aof_buf缓冲区的末尾
在服务器每结束一个事件循环之前,将会调用flushappendonlyfile函数决定是否要将aof_buf的内容保存到aof文件中,可以通过配置appendfsync来决定。
always ##aof_buf内容写入并同步到aof文件everysec ##将aof_buf中内容写入到aof文件,如果上次同步aof文件时间距离现在超过1秒,则再次对aof文件进行同步no ##将aof_buf内容写入aof文件,但是并不对aof文件进行同步,同步时间由操作系统决定
如果不设置,默认选项将会是everysec,因为always来说虽然最安全(只会丢失一次事件循环的写命令),但是性能较差,而everysec模式只不过会可能丢失1秒钟的数据,而no模式的效率和everysec相仿,但是会丢失上次同步aof文件之后的所有写命令数据。
以上就是redis中持久化方案有哪些的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product