案例场景
某大型综合类电商平台拥有庞大的用户群体,且每逢节假日期间会迎来订单量的爆发式增长。订单处理系统需要快速响应大量的并发请求,并在短时间内完成订单创建、库存扣减、支付验证等操作。由于订单数据量大且操作频繁,传统的关系型数据库难以满足性能要求。公司拟引入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、不能获取元素本身
软考备考资料免费领取
去领取
专注在线职业教育24年