Redis 集群面试题

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis 集群面试题

主从复制原理


从服务器连接主服务器,发送 SYNC 命令。主服务器接收到 SYNC 命名后,开始执行

BGSAVE 命令生成 RDB 文件并使用缓冲区记录此后执行的所有写命令。主服务器

BGSAVE 执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命

令。从服务器收到快照文件后丢弃所有旧数据,载入收到的快照。主服务器快照发送完毕后

开始向从服务器发送缓冲区中的写命令。


从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令(从

服务器初始化完成)。主服务器每执行一个写命令就会向从服务器发送相同的写命令,从服

务器接收并执行收到的写命令(从服务器初始化完成后的操作)。


优点


支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。为了分载 Master 的

读操作压力,Slave 服务器可以为客户端提供只读操作的服务,写服务仍然必须由 Master

来完成 Slave 同样可以接受其它 Slaves 的连接和同步请求,这样可以有效的分载 Master

的同步压力 Master Server 是以非阻塞的方式为 Slaves 提供服务。所以在 Master-Slave

同步期间,客户端仍然可以提交查询或修改请求。Slave Server 同样是以非阻塞的方式完

成数据同步。在同步期间,如果有客户端提交查询请求,Redis 则返回同步之前的数据。


缺点


Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,

需要等待机器重启或者手动切换前端的 IP 才能恢复。主机宕机,宕机前有部分数据未能及

时同步到从机,切换 IP 后还会引入数据不一致的问题,降低了系统的可用性。Redis 较难

支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
4天前
|
NoSQL Linux Redis
06- 你们使用Redis是单点还是集群 ? 哪种集群 ?
**Redis配置:** 使用哨兵集群,结构为1主2从,加上3个哨兵节点,总计分布在3台Linux服务器上,提供高可用性。
13 0
|
13天前
|
负载均衡 监控 NoSQL
Redis的集群方案有哪些?
Redis集群包括主从复制(基础,手动故障恢复)、哨兵模式(自动高可用)和Redis Cluster(官方分布式解决方案,自动分片和容错)。此外,还有如Codis、Redisson和Twemproxy等第三方工具用于代理和负载均衡。选择方案需考虑应用场景、数据规模和并发需求。
15 2
|
1月前
|
NoSQL Redis Sentinel
【怒怼大厂面试官】听说你精通Redis?说说Redis哨兵
面试官:Redis哨兵知道吧?知道的,Sentinel哨兵本质是一个运行在特殊模式下的Redis服务器。面试官:嗯然后呢?它的主要作用是通过检测Redis主从服务器的下线状态,选举出新Redis主服务器,也就是故障转移,来保证Redis的高可用性。
74 4
【怒怼大厂面试官】听说你精通Redis?说说Redis哨兵
|
18天前
|
NoSQL Redis
Redis集群(六):集群常用命令及说明
Redis集群(六):集群常用命令及说明
15 0
|
6天前
|
缓存 NoSQL Java
面试官:Redis如何实现延迟任务?
延迟任务是计划任务,用于在未来特定时间执行。常见应用场景包括定时通知、异步处理、缓存管理、计划任务、订单处理、重试机制、提醒和数据采集。Redis虽无内置延迟任务功能,但可通过过期键通知、ZSet或Redisson实现。然而,这种方法精度有限,稳定性较差,适合轻量级需求。Redisson的RDelayedQueue提供更简单的延迟队列实现。
39 9
|
13天前
|
NoSQL Java 测试技术
面试官:如何搭建Redis集群?
**Redis Cluster** 是从 Redis 3.0 开始引入的集群解决方案,它分散数据以减少对单个主节点的依赖,提升读写性能。16384 个槽位分配给节点,客户端通过槽位信息直接路由请求。集群是无代理、去中心化的,多数命令直接由节点处理,保持高性能。通过 `create-cluster` 工具快速搭建集群,但适用于测试环境。在生产环境,需手动配置文件,启动节点,然后使用 `redis-cli --cluster create` 分配槽位和从节点。集群动态添加删除节点、数据重新分片及故障转移涉及复杂操作,包括主从切换和槽位迁移。
27 0
面试官:如何搭建Redis集群?
|
16天前
|
存储 缓存 NoSQL
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析)(一)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析)
41 0
|
26天前
|
NoSQL Redis Docker
使用Docker搭建一个“一主两从”的 Redis 集群(超详细步骤)
使用Docker搭建一个“一主两从”的 Redis 集群(超详细步骤)
26 0
|
1月前
|
存储 监控 NoSQL
Redis 架构深入:主从复制、哨兵到集群
大家好,我是小康,今天我们来聊下 Redis 的几种架构模式,包括主从复制、哨兵和集群模式。
Redis 架构深入:主从复制、哨兵到集群
|
1月前
|
运维 负载均衡 NoSQL
【大厂面试官】知道Redis集群和Redis主从有什么区别吗
集群节点之间的故障检测和Redis主从中的哨兵检测很类似,都是通过PING消息来检测的。。。面试官抓抓脑袋,继续看你的简历…得想想考点你不懂的😰。
66 1