1.RDB(Redis DataBase)
什么是RDB?
RDB持久化是将当前进程中的数据生成快照保存到硬盘(因此也称作快照持久化),保存的文件后缀是rdb;当Redis重新启动时,可以读取快照文件恢复数据。
优势:
* 适合大规模的数据恢复
* 对数据完整性和一致性要求不高的更适合使用
* 节省磁盘空间
* 恢复速度快
劣势:
* Fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑
* 虽然Redis在fork的时候使用了写时拷贝技术,但是如果数据量庞大还是比较消耗性能
* 在备份周期一定间隔时间做一次备份,如果Redis意外down掉了,就会失去最后一次快照后的所有修改
持久化是如何执行的?
Redis 会单独创建(fork)一个子进程来进行持久化,首先会将数据写入到fork子线程的临时空间区生成一个临时文件,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件(dump.rdb),这种技术称为写时复制技术。整个过程中,主进程是不进行任何 IO 操作的,这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那 RDB 方式要比 AOF 方式更加的高效。RDB 的缺点是最后一次持久化后的数据可能丢失。
RDB文件配置
1)设置默认持久化文件名-dbfilename

2)设置默认持久化文件默认路径-dir

3)设置当硬盘满了,Redis就不再进行写入操作
-stop-writes-on-bgsave-error

4)设置持久化的快照是否进行压缩,Redis会采用LZF算法-rdbcompression

5)设置存储快照后,可以让Redis使用CRC64算法进行数据校验-rdbchecksum

6)在多少秒内有多少key发生变化,就进行持久化操作-save
save 秒 写操作次数


posted @
2022-08-11 22:47
别停
阅读(
41)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗