【面试官】你说精通Redis?来讲讲Redis持久化

  • 面试官:知道Redis持久化吗?
  • 面试官:那你说一说Redis生成RDB文件的命令是什么?
  • 面试官:是你的话,你会在什么场景使用什么命令?
  • 面试官:AOF文件生成呢?
  • 面试官:知道AOF文件重写吗?
  • 面试官:那照你这么说,只会保存创建命令,那每个键的创建只有一条命令对吧?
  • 面试官:那你说说AOF重写过程中,有新的创建请求进来怎么办?
  • 👉以【面试官面试】形式覆盖Java程序员所需掌握的Java核心知识、面试重点
  • 📚本期是《Redis系列》,其他系列博客请订阅专栏《Java Offer训练营》
  • ❤创作不易,不妨点赞、收藏、关注支持一下

文章目录

  1. Redis持久化
    1. 生成RDB文件
    2. 两种命令的选择
    3. 生成AOF文件
  2. AOF重写
    1. 多条命令记录键值
    2. AOF重写缓冲区

1. Redis持久化

面试官:知道Redis持久化吗?

Redis本身是一个基于内存的数据库,它提供了RDB持久化、AOF持久化两种方式,用来将存储在内存中的数据库状态保存到磁盘中。前者是保存了整个Redis数据库状态,而后者是保存了从Redis启动后所有执行的写命令。接下来我们就从这两方面展开。

1.1 生成RDB文件

面试官:那你说一说Redis生成RDB文件的命令是什么?

触发RDB持久化过程分为手动触发和自动触发,手动触发的命令有两个,一个是SAVE命令,一个是BGSAVE命令,执行命令后会在根目录生成名为dump.rdb的文件。

大家看下以下手动触发的使用。

# 手动生成RDB文件指令
127.0.0.1:6379> save
OK
127.0.0.1:6379> bgsave
Background saving started

另外RDB文件是在Redis启动时自动载入,如果把dump.rdb文件删除,重启Redis后会发现原先的数据库状态都不存在了。

# 初始化
127.0.0.1:6379> set name JavaGetOffer
OK
127.0.0.1:6379> get name
"JavaGetOffer"
127.0.0.1:6379> save
OK

# 重启Redis
127.0.0.1:6379> get n

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java Offer训练营 文章被收录于专栏

👉以贴近现实的【面试官面试】形式帮助你系统学习后端技术 👉成体系知识帮你在后端进阶,每一道问答助你怒怼大厂面试官,收获大厂offer 👉《Java Offer训练营》包含Redis系列、MySQL系列、Kafka系列、ZooKeeper系列、JVM系列、多线程系列等等 👉制作不易,各位的支持是我创作的最大动力

全部评论
支持,🐮
点赞
送花
回复
分享
发布于 05-06 20:47 广东

相关推荐

9 34 评论
分享
牛客网
牛客企业服务