博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis中SAVE和BGSAVE的区别
阅读量:4551 次
发布时间:2019-06-08

本文共 803 字,大约阅读时间需要 2 分钟。

Redis的这两个命令都是用于创建当前数据库的备份。

因为Redis持久化选择RDB快照模式,所以Redis并不是实时的进行数据持久化,而是有一定的时间间隔。这个时候如果我们想要手动进行一次持久化,可以使用save或者bgsave命令。

 

SAVE

基本命令:

redis 127.0.0.1:6379> SAVE OK

该命令将在 redis 安装目录中创建dump.rdb文件。

影响:

SAVE 直接调用 rdbSave函数 ,阻塞 Redis 主进程,直到保存完成为止。在主进程阻塞期间,服务器不能处理客户端的任何请求。

如果数据量小,用此命令可能感觉不出有什么区别,但是当数据量很大的时候,就需要谨慎使用这个命令。

 

BGSAVE

基本命令:

127.0.0.1:6379> BGSAVEBackground saving started

客户端可以通过 LASTSAVE 命令查看相关信息,判断 BGSAVE 命令是否执行成功。

影响:

BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

BGSAVE方式比较适合线上的维护操作。

 

 

恢复数据

如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:

redis 127.0.0.1:6379> CONFIG GET dir1) "dir"2) "/usr/local/redis/bin"

以上命令 CONFIG GET dir 输出的 redis 安装目录为 /usr/local/redis/bin。

 

转载于:https://www.cnblogs.com/JeeMoze/p/10304360.html

你可能感兴趣的文章
在Emacs中使用plantuml画UML图
查看>>
[启动]Linux启动流程rcN.d rcS.d rc.local等
查看>>
Resouse of Buddhism
查看>>
Android实用代码七段(三)
查看>>
打造一个壁纸爬虫来爬你的老婆
查看>>
mysql 给用户设置权限
查看>>
K-Means算法总结
查看>>
TrunCateTable 和Delete Table 的区别
查看>>
Mybatis <where>标签
查看>>
updatefile.sh - Linux下代码更新脚本
查看>>
内存泄露
查看>>
关于js单线程的解释
查看>>
后台计时
查看>>
android Toast,Intent,响应选项,上下文菜单
查看>>
jvmstat监控jvm内存
查看>>
日常错误
查看>>
设计模式<5>------代理模式(Proxy Pattern)------结构式模式
查看>>
Jersey 2.x 基于 Servlet 的服务器端应用
查看>>
Confluence 6 设置公共访问备注
查看>>
Confluence 6 在数据源连接中启用校验查询
查看>>