阅读以下关于分布式数据库缓存设计的叙述,在答题纸上回答问题1至问题3。
【说明】
某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。
张工建议重新开发整个系统, 采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用Redis来解决问题。经过充分讨论,该公司最终决定采用刘工的方案。
在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请用100字以内的文字说明分布式数据库缓存的基本概念。
表4-1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表 4-1中的空(1)~ (6)。

分布式数据库缓存指的是在高并发环境下,为了减轻数据库压力和提高系统响应时间,在数据库系统和应用系统之间增加的独立缓存系统。
(1)key/value,list,set,string,sorted 或 丰富/多种数据结构
(2)不支持
(3)客户端哈希分片/一致性哈希
(4)Redis5.0及以前版本不支持
(5)有,私有内存池
(6)不支持
分布式缓存的核心思想是利用“内存 + 分布式”的架构手段解决高并发下的数据库性能瓶颈。数据库作为系统的权威存储,常常面临读写请求的洪峰,而其中大部分请求集中在少量热点数据(如热门商品、用户会话)。通过缓存,将这些热点数据存放到内存中,让应用优先读取缓存,减少数据库访问频率,从而极大地提升系统性能。分布式部署则通过分片、复制和一致性哈希等机制,把缓存负载分散到多台节点,实现容量扩展和高可用。
Redis 与 MemCache 的差异主要体现在:
①数据结构,MemCache 仅支持简单的 key-value,而 Redis 支持 string、list、hash、set、zset 等复杂结构,更适合处理多样化业务场景;
②持久化,MemCache 不支持持久化,掉电数据全丢,而 Redis 提供 RDB、AOF 等机制保障数据可靠性;
③分片机制,MemCache 一般依赖客户端一致性哈希,而 Redis 提供 Cluster 模式实现服务端分片;
④内存管理,Redis 的早期版本并不支持高级的内存管理功能,但从Redis 3.2 版本开始引入了内存淘汰策略等机制;
⑤事务支持,Redis 提供事务功能,而 MemCache 不支持。正因如此,Redis 常被用于对可靠性、一致性有要求的场景,而 MemCache 更适合纯缓存、读多写少的轻量级应用。