粉丝给我提 bug 了

原由

事情是这样,前几天清明假期,有个小伙伴找到我。我还想,节假日还这么好学、可造之材,结果一看是给我提 bug 的。(当然欢迎给我提 bug,一起进步👍。)

这个 bug 是针对 《面试1v1》中 Redis 基础 的一个知识点。

image-20240423164611587

字有点小可能看不清,我直接将修改后正确答案粘贴过来。

第一个

面试官: 说的不错,我再问你几个 Redis 的基本命令,来测试一下你的熟练程度。set key value ,这条命令的作用是?

候选人: set key value 这个命令的作用是给指定的 key 设置字符串值 value。如果key已经存在,则覆盖原来的值。

例如:

set name "javaub"
第二个

面试官: 说说RDB吧,它的工作原理是什么?

候选人: RDB 的工作原理很简单,就是在指定的时间间隔内将内存中的数据集快照写入磁盘,恢复时是将快照文件直接读入内存。(简单来说就是快照保存,核心思路是Copy-on-Write。)

触发 RDB 又分为两种, save 和 bgsave

save

当 Redis 实例收到 save 命令后,此时会阻塞当前 Redis 服务器,在 RDB 文件创建完成之前是不能处理其他客户端发送的任何命令请求,如果数据量太大会造成长时间阻塞,期间 redis 无法处理其他请求,线上环境不建议使用

bgsave

当 Redis 实例收到 bgsave 命令后,Redis 会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。 整个过程中,主进程仍然处理客户端请求,这样可以保证 RDB 过程不影响服务。

RDB 的优点是轻量,适合大规模的数据恢复;缺点是数据有一定的丢失风险,持久化的工作并不实时。

最后

《面试1v1》 是之前更新的一个系列合集,以面试时对答方式来记录知识。都是比较基础的高频面试题。包括 Redis、java、集合、spring、mysql 等等。

最近更新

  1. TCP协议是安全的吗?

    2024-04-23 22:48:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-23 22:48:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-23 22:48:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-23 22:48:05       20 阅读

热门阅读

  1. 4月23日加油站+分发糖果

    2024-04-23 22:48:05       14 阅读
  2. 冒泡排序算法及其Python实现

    2024-04-23 22:48:05       12 阅读
  3. 程序员如何搞副业?

    2024-04-23 22:48:05       14 阅读
  4. 书生浦语训练营第2期-第5节笔记

    2024-04-23 22:48:05       15 阅读
  5. 类的声明与成员函数的实现--Car类

    2024-04-23 22:48:05       15 阅读
  6. C++ 核心编程 - 函数提高

    2024-04-23 22:48:05       19 阅读
  7. Gitea:轻量级、开源的Git仓库管理平台

    2024-04-23 22:48:05       14 阅读
  8. 按键驱动和中断方式的按键驱动

    2024-04-23 22:48:05       13 阅读
  9. C# 四种定时器的用法

    2024-04-23 22:48:05       15 阅读
  10. jsoncpp解析文件

    2024-04-23 22:48:05       14 阅读