
Redis 面试题
文章平均质量分 92
Redis 是后端开发的强大工具,以其高性能和多样的数据结构而闻名。它支持快速的数据读写,适合实现高效的缓存、实时数据处理和消息队列。持久化机制确保数据可靠性,主从复制和分片功能提供高可用性和可扩展性。无论在电商、社交网络还是在线游戏中,学习 Redis 将显著提升你的开发技能和应用性能!
stormsha
博客主页:stormsha.com
知识库:devsroad.com
展开
-
0x08.Redis 支持事务吗?如何实现?
Redis 的事务机制与 MySQL 等关系型数据库有显著区别。Redis 事务通过 MULTI、EXEC、WATCH 和 DISCARD 命令实现,确保命令的原子性和隔离性,即所有命令按顺序执行且不被其他客户端打断。然而,Redis 事务不支持回滚操作,一旦 EXEC 执行,所有命令都会被执行,即使部分命令失败也不会撤销已执行的效果。Redis 事务的错误分为编译期错误和运行期错误,前者会拒绝执行整个事务,后者则继续执行剩余命令。这种设计源于 Redis 对性能的追求,开发者认为错误应在开发阶段修复,而非原创 2025-05-16 14:47:32 · 117 阅读 · 0 评论 -
0x07.Redis 的 hash 是什么?
值得注意的是,一旦使用了 hashtable,数据结构不会再退回到 ziplist 或 listpack。Redis 中的 Hash 是一种基本的数据结构,类似于哈希表。Redis 的 Hash 是一种键值对集合,允许将多个字段与其对应的值存储在同一个键中,从而方便管理和操作关联数据。ziplist 和 listpack 查找 key 的效率是类似的,时间复杂度都是 O(n)这些机制确保了 Redis 的高效性能和内存使用的灵活性。命令设置 Hash 中的指定字段的值。命令获取 Hash 中指定字段的值。原创 2025-04-14 15:31:39 · 127 阅读 · 0 评论 -
0x06.Redis 中常见的数据类型有哪些?
Redis 的内置数据类型包括 String、List、Set、Hash、Sorted Set、GEO、HyperLogLog、Stream 等。Redis 常见的数据结构主要有五种,这五种类型分别为:String(字符串)、List(列表)、Hash、Set(集合)、Zset(有序集合,也叫sorted set)。GEO 是 Redis 提供的一种用于存储地理位置信息的数据结构,可以存储经纬度信息并支持空间查询,例如计算距离和获取范围内的坐标。哈希是一个键值对集合,适合存储对象的属性。原创 2025-04-13 19:07:16 · 134 阅读 · 0 评论 -
0x05.为什么 Redis 设计为单线程?6.0 版本为何引入多线程?
主要是因为我们对 Redis 的性能有了更高的要求,因为随着业务愈加复杂,公司需要的 QPS 就越高了,为了提升 QPS ,最直接的做法就是搭建 Redis 的集群,即提高 Redis 的机器数,但是这种做法的资源消耗是巨大的。综上所示,我们可以发现,多路复用+单线程的设计并不能很好地解决网络 I/O 瓶颈的问题,这个时候就可以考虑利用 CPU 的多核优势,即利用多线程处理网络请求的方式来提高效率,然后对于读写命令, Redis 依旧采用单线程命令。:Redis 6.0 多线程机制只用于处理网络请求阶段,原创 2025-04-13 18:02:26 · 172 阅读 · 0 评论 -
0x04.Redis 为什么这么快?
主要有 3 个方面的原因,分别是存储方式、优秀的线程模型以及 IO 模型、高效的数据结构。原创 2025-04-13 17:34:02 · 33 阅读 · 0 评论 -
0x03.Redis 通常应用于哪些场景?
选项 B 和 D 都是错误的,因为 Redis 可以实现消息的发布和消费,并且支持相关的数据结构。选项 B(持久化数据)和选项 D(高额的配置费用)都不准确,Redis 的分布式锁并不保证持久性,且配置相对简单。由于其高效的内存存储特性,Redis 能够快速响应数据请求,从而减少数据库负载,提高应用程序的性能。Redis 并不仅限于缓存,作为现代分布式系统的基础组件,它在性能优化、架构解耦、系统扩展等方面发挥着不可替代的作用。Redis 作为缓存层,利用其高速的内存访问能力,大幅提升系统响应速度和吞吐量。原创 2025-04-13 14:22:34 · 120 阅读 · 0 评论 -
0x02.Redis 集群的实现原理是什么?
Redis 集群(Redis cluster)是通过多个 Redis 实例组成的,。具体是采用哈希槽(Hash Slot)机制来分配数据,将整个键空间划分为 16384 个槽(slots)。每个 Redis 主节点实例负责一定范围的哈希槽,数据的 key 经过 CRC16-CCITT 哈希算法计算后对 16384 取余即可定位到对应的节点。客户端在发送请求时,会通过集群的任意节点进行连接,如果该节点存储了对应的数据则直接返回,反之该节点会根据请求的键值计算哈希槽并路由到正确的节点。原创 2025-04-12 23:49:45 · 165 阅读 · 0 评论 -
0x01、Redis 主从复制的实现原理是什么?
Redis 的主从复制是一种机制,允许一个主节点(主实例)将数据复制到一个或多个从节点(从实例)。通过这一机制,从节点可以获取主节点的数据并与之保持同步。原创 2025-04-12 21:51:51 · 194 阅读 · 0 评论