案例场景
某大型综合类电商平台拥有庞大的用户群体,且每逢节假日期间会迎来订单量的爆发式增长。订单处理系统需要快速响应大量的并发请求,并在短时间内完成订单创建、库存扣减、支付验证等操作。由于订单数据量大且操作频繁,传统的关系型数据库难以满足性能要求。公司拟引入 Redis作为订单处理系统的一部分,利用其高性能的key-value存储和内存操作优势,将订单号、用户信息等关键数据缓存到Redis 中。并通过 Redis的自身机制,将订单数据分布到多个Redis 节点,实现负载均衡和数据冗余。同时,利用Redis 的原子操作和事务特性,确保订单处理过程中的数据一致性和完整性。
问题内容:
[问题1]
(8分)
Redis 数据分片方案有多种,请根据分片方案的特点填写以下表格内容。

在系统设计方案讨论时,王工提出除了以上两种方案,还有一种分片方案,此方案不但能让 redis 各结点负载相当,且从长久来说,更利于扩展Redis结点,请指出王工的分片方案,并说明该方案为何更利于扩展结点。
[问题2] (6分)
Redis 支持多种数据类型,请为以下应用场景选择最合适的Redis数据类型。
(1)网站用户画像标签。
(2)多用户同时下订单,扣减库存时的分布式锁。
(3)商品销售周排行榜。
[问题3](6分)
Redis 缓存区容量有限,当缓存空间不足时,则需要淘汰缓存区中的部分数据。
volatile-lru 和 allkeys-lru 两种算法有共性,即均遵循(1)原理,优先淘汰(2)的数据。同时,他们也有差异,差异在于volatile淘汰数据时的范围限定为仅针对(3)。
[问题4](5分)
布隆过滤器可以解决Redis应用中的什么问题?用这种方法,会有什么缺点?
试题答案:
[问题1] (8分,(a)-(d)每空1分,后面每问2分)
(a) 取值范围(b)不均匀 (c) 哈希值(d) 均匀
王工的分片方案为:一致性哈希。
该方案通过哈希环机制,增设了很多虚拟结点,再映射到物理结点,所以扩展结点时,不必像哈希分片那样对所有数据重新分配结点。只需要将部分数据做重新调整。
[问题 2] (6分,每空2分)
(1) Set (2) String (3) Zset
[问题 3] (6分,每空2分)
(1) 局部性原理(2)最近未被访问(3)设置了过期时间的数据
[问题4] (5分,第1问2分,第2问每条1分)
布隆过滤器可用于解决缓存穿透的问题。
其缺点包括:
1、有一定的误判率,即存在假阳性,不能准确判断元素是否在集合中。
2、一般情况下不能从布隆过滤器中删除元素
3、不能获取元素本身
| 软考架构备考资料汇总 | ||
| 资料名称 | 资料价格 | 资源链接 |
| 2026年上半年 系统架构设计师考试简介 | 免费 | 点击获取 |
| 2025下半年系统架构设计师综合知识真题 | 免费 | 点击获取 |
| 系统架构设计师论文范文五篇 | 免费 | 点击获取 |
| 2025年下半年 系统架构设计师考情分析 | 免费 | 点击获取 |
| 系统架构设计师三色笔记 | 免费 | 点击获取 |
| 系统架构设计师案例题 | 免费 | 点击获取 |
| 2025年上半年系统架构设计师综合知识真题 | 免费 | 点击获取 |
| 更多软考架构备考资料请点此查看 | ||
精品课程:系统架构设计师报考指南 | 系统架构设计师备考攻略