笔记 笔记
首页
  • 开发工具
  • Java Web
  • Java 进阶
  • 容器化技术
  • Java 专栏

    • Java 核心技术面试精讲
    • Java 业务开发常见错误 100 例
  • 数据库专栏

    • MySQL 实战 45 讲
    • Redis 核心技术与实战
  • 安全专栏

    • OAuth 2.0 实战课
  • 计算机系统
  • 程序设计语言
  • 数据结构
  • 知识产权
  • 数据库
  • 面向对象
  • UML
  • 设计模式
  • 操作系统
  • 结构化开发
  • 软件工程
  • 计算机网络
  • 上午题错题
在线工具 (opens new window)

EasT-Duan

Java 开发
首页
  • 开发工具
  • Java Web
  • Java 进阶
  • 容器化技术
  • Java 专栏

    • Java 核心技术面试精讲
    • Java 业务开发常见错误 100 例
  • 数据库专栏

    • MySQL 实战 45 讲
    • Redis 核心技术与实战
  • 安全专栏

    • OAuth 2.0 实战课
  • 计算机系统
  • 程序设计语言
  • 数据结构
  • 知识产权
  • 数据库
  • 面向对象
  • UML
  • 设计模式
  • 操作系统
  • 结构化开发
  • 软件工程
  • 计算机网络
  • 上午题错题
在线工具 (opens new window)

购买兑换码请添加

添加时候请写好备注,否则无法通过。

  • Java 核心技术面试精讲

  • Java 业务开发常见错误 100 例

  • MySQL 实战 45 讲

  • OAuth 2.0 实战课

  • Redis 核心技术与实战

    • 开篇

    • 基础篇

    • 实践篇

    • 期中篇

      • 期中测试题-一套习题,测出你的掌握程度
        • 选择题
          • 单选题
          • 多选题
        • 问答题
          • 第一题
          • 第二题
          • 第三题
      • 期中测试题答案-这些问题,你都答对了吗?
    • 未来篇

    • 番外篇

    • 结束篇

  • 软考专栏

目录

期中测试题-一套习题,测出你的掌握程度

欢迎来到我的 ChatGPT 中转站,极具性价比,为付费不方便的朋友提供便利,有需求的可以添加左侧 QQ 二维码,另外,邀请新用户能获取余额哦!最后说一句,那啥:请自觉遵守《生成式人工智能服务管理暂行办法》。

# 选择题

# 单选题

  1. Redis 的 Streams 数据类型可以用来实现消息队列,关于 Streams,下列哪个描述是不正确的?
    • Streams 可以为消息自动生成全局唯一 ID
    • Streams 会自动留存消息,直到消费者使用 XACK 确认后,再删除消息
    • Streams 支持阻塞式消息读取
    • Streams 提供的消费组模式,同一个消费组内的消费者可以同时消费同一条消息
  2. 在 Redis 运行的过程中,运维人员通过 info memory 命令,查看到 mem fragmentation ratio 的值等于 2,此时,Redis 的内存使用情况是怎样的?
    • 内存使用中存在较为严重的内存碎片
    • 内存空间不够,可能已经发生了 swap
    • 内存使用正常,有少量内存碎片
    • 内存非常充足,可以保存更多的数据
  3. 在 Redis 中,默认的内存分配器使用的是 jemalloc 当 Redis 想要分配 23 字节的空间时,jemalloc 实际会分配多大空间?
    • 23
    • 24
    • 32
    • 64
  4. Redis 使用 RDB 机制创建快照,关于 RDB 机制,下面的描述哪个是错误的?
    • 使用 save 命令生成 RDB 快照时,是在主线程中执行的,会阻塞主线程
    • RDB 文件是 Redis 实例的镜像,用 RDB 文件恢复实例时,直接把 RDB 文件加载到内存,就可以快速恢复了
    • 和 AOF 文件相比,RDB 文件更小一点
    • 只使用 bgsave 命令创建 RDB 快照时,能处理读请求,写请求操作会被阻塞
  5. Redis 使用 AOF 机制保存数据操作时,可以采用不同的写回策略。当需要有一定的数据可靠性,同时也不能对 Redis 实例造成较大阻塞的话,应该选择以下哪和写回策略?
    • always
    • everysec
    • no
    • yes
  6. 现在,有一个 Redis 实例正在线上运行,它使用 Hash 类型保存了一个 key 为 device 的 Hash 集合,集合中保存了 500 万条记录。在这些记录中,有 20 万条记录的 key 是以 “redis” 开头的,现在想把这些记录读取出来,应该采用以下哪些命令?
    • KEYS
    • SCAN
    • HSCAN
    • SSCAN
  7. 在主从集群中,当主库收到从库发送的 psync ? -1 命令时,从库希望主库执行的操作是以下哪一项?
    • 进行增量复制
    • 结束数据复制操作
    • 断开网络连接
    • 进行全量复制
  8. 关于哨兵机制,下面的哪个描述是正确的?
    • 哨兵是一个运行在特定模式下的 Redis 实例,也可以服务请求
    • 哨兵提供 pub/sub 功能
    • 哨兵只通过心跳监听主库的运行状态
    • down-after-milliseconds 是哨兵用来判断主库客观下线的心跳新连闻值
  9. 在使用哨兵机制对发生故障的主从集群进行主从库切换时,会涉及:
    (1) 主库被判断为主观下线
    (2) 主库被判断为客观下线
    (3) 确定新主库:
    (4) 选举哨兵 Leader;
    (5) 主从库实际切换
    关于这些事件的发生顺序,以下哪个选项的描述是正确的?
    • (1)->(2)->(3)->(4)->(5)
    • (2)->(1)->(3)->(4)->(5)
    • (1)->(2)->(4)->(3)->(5)
    • (2)->(1)->(4)->(3)->(5)
  10. 在一个由 5 个哨兵组成的哨兵集群中,配置文件中的 guorum 值配置为 4,那么,当有哨兵发现主节点故障开始进行 Leader 选举时,这个哨兵害要获得几张赞成票,才能成功地成为 Leader?
    • 2
    • 3
    • 4
    • 5
  11. 在使用 Redis Cluster 时,如果客户端发送操作请求后,收到了 MOVED 命令,此时,Redis Cluster 发生了以下哪和情况?
    • 请求的数据在 Cluster 中已经被删除
    • 请求数据所在的哈希槽正在往其他实例迁移
    • 请求数据所在的哈希槽已经迁移到了其他实例
    • 请求的数据正在持久化保存
  12. 在 Redis 的诸多数据类型中,以下哪和数据类型允许插入重复的元素?
    • HyperLogLog
    • List
    • Set
    • Sorted Set
  13. Redis 数据库是将下列哪种数据结构作为全局数据结构,来保存每一对键值对?
    • 数组
    • 哈希表
    • 跳表
    • 双向链表
  14. 在 Redis 的主从库集群中,如果主库宕机了,以下哪个机制可以让 Redis 实现自动的主从库切换?
    • AOF 重写机制
    • RDB 机制
    • 切片机制
    • 哨兵机制
  15. 以下哪个功能是由 Redis 主线程完成的?
    • 键值对读写
    • UNLINK 操作
    • 生成 RDB 快照
    • AOF 重写

# 多选题

  1. 以下哪些情况会引起 Redis 的主线程阻塞?
    • 在 Redis 3.0 中,删除一个 100 万元素的 Set 集合
    • AOF 写回策略配置为 everysec,同时 no-appendfsync-on-rewrite 设置为 no
    • 200 万个键值对同时过期
    • 一个服务读为主负载的 Redis 实例已保存的数据量为 1GB,正在创建 RDB 快照
  2. RDB 和 AOF 是 Redis 使用的两和持久化机制,关于这两和机制,下面的哪些描述是正确的?
    • 使用 RDB 进行实例恢复的速度,要比使用 AOF 进行恢复的速度快
    • RDB 的生成和 AOF 的日志记录都是通过子进程来完成的
    • AOF 文件记录的操作日志过多时,为了避免文件过大,需要手动删除失效的操作日志
    • Redis 4.0 版本中可以使用 RDB 做快照,同时使用 AOF 记录两次快照间的操作日志
  3. 我们可以使用 Hash 和 Sorted Set 组合来保存时间序列数据,以下哪些功能可以使用这种方式直接在 Redis 实例上完成?
    • 计算某个时间范围内的数据最大值
    • 查询某个时刻的数据
    • 查询某个时间范围内的所有数据
    • 查询最新时刻的数据
  4. Redis 的 Hash 数据类型,是采用以下哪两种结构作为它的底层实现的?
    • 整数数组
    • 双向链表
    • 哈希表
    • 压缩列表
  5. 关于 Redis Cluster,面哪个描述是止确的?
    • Redis Cluster 一共有 16384 个哈希槽
    • 使用 Redis Cluster 时,客户端不用记录哈希槽的任何信息,可以直接通过哈希计算,确定键值对在哪个实例
    • Redis Cluster 属于可扩展集群,主要用途是让 Redis 数据库能够保存更多数据
    • Redis Cluster 中的实例只能通过持久化机制进行可靠性保证

# 问答题

# 第一题

Redis 在接收多个网络客户端发送的请求操作时,如果有一个客户端和 Redis 的网络连接断开了,Redis 会一直等待该客户端恢复连接吗?为什么?

# 第二题

Redis 的主从集群可以提升数据可靠性,主节点在和从节点进行数据同步时,会使用两个缓冲区:复制缓冲区和复制积压缓冲区,这两个缓冲区的作用各是什么?会对 Redis 主从同步产生什么影响吗?

# 第三题

假设在业务场景中,我们有 20GB 的短视频属性信息(包括短视频 ID、短视频基本信息,例如短视频作者、创建时间等)要持久化保存,并且线上负载以读为主,需要能快速查询到这些短视频信息。

现在,我们想使用 Redis 来实现这个需求,请你来设计一个解决方案。我来提几个问题,你可以思考下。

首先,你会用 Redis 的什么数据类型来保存数据?如果我们只用单个实例来运行的话,你会采用什么样的持久化方案来保证数据的可靠性?

其次,如果不使用单实例运行,我们有两个备选方案:一个是用两台 32GB 内存的云主机来运行主从两个 Redis 实例;另一个是用 10 台 8GB 的云主机来运行 Redis
Cluster,每两台云主机分别运行一个 Redis 实例主库和从库,分别保存 4GB 数据,你会用哪种方案呢?请聊一聊你的想法。

#专栏#Redis
上次更新: 2025/04/12, 05:37:39
38-通信开销:限制 RedisCluster 规模的关键因素
期中测试题答案-这些问题,你都答对了吗?

← 38-通信开销:限制 RedisCluster 规模的关键因素 期中测试题答案-这些问题,你都答对了吗?→

最近更新
01
Reactor 核心
02-24
02
前置条件
10-30
03
计算机网络
09-13
更多文章>
Theme by Vdoing | Copyright © 2019-2025 powered by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式