
Redis
文章平均质量分 95
程序员徐述
公号:程序员徐述
展开
-
贝壳面试官:Redis为什么这么快?过来,我们聊聊!
极简设计:单线程也能顶万线程精妙结构:数据结构就是生产力智能管理:每一个字节都物尽其用Redis不是因为单线程才快,而是因为它把简单的事情做到了极致。看完这篇面试对话,相信你对Redis的性能特点有了更深入的理解。不知道你是否也遇到过类似的面试题?你在面试中遇到过哪些关于Redis的问题?你觉得还有哪些Redis性能相关的知识点值得补充?你在实际工作中是如何优化Redis性能的?原创 2025-04-21 09:00:00 · 764 阅读 · 0 评论 -
美团面试官灵魂拷问:你的Redis分布式锁真的用对了吗?
面试官:先说说分布式锁解决什么问题?我:在分布式集群中,多个服务实例可能并发操作共享资源(如库存扣减、订单状态变更)。1️⃣ 互斥性:同一时刻只能有一个客户端持有锁;2️⃣ 防死锁:即使客户端崩溃或网络异常,锁也能被释放3️⃣ 容错性:只要大部分Redis节点正常工作,客户端就能正常加锁解锁。🌰电商秒杀:防止超卖;支付系统:避免重复扣款;定时任务:防止多节点重复执行。原创 2025-03-24 09:00:00 · 637 阅读 · 0 评论 -
【超硬核】一文打尽 Redis 核心技术
Redis 核心技术前言基础篇Redis 特性Redis 的数据结构以及数据类型Redis 键和值用什么结构组织?Redis 为什么不使用多线程?单线程 Redis 为什么那么快?Redis 单线程处理 IO 请求性能瓶颈Redis 持久化机制Redis 高可用之主从模式主从模式常见的问题复制缓冲区(replication buffer) 和 复制积压缓冲区(repl_backlog_buffer) 的区别为什么主从库间的复制不使用 AOF 呢?Redis 高可用之哨兵集群Redis 集群Redis 集群数原创 2022-02-12 23:06:18 · 1462 阅读 · 0 评论 -
Redis 高可用之切片集群
Redis 高可用之切片集群前言如何保存更多数据?Redis 集群搭建 Redis 集群数据切片和实例的对应分布关系哈希槽与 Redis 实例映射客户端如何定位数据?计算键属于哪个槽判断槽是否由当前节点负责处理MOVED 错误重新分片ASK 错误ASK 和 MOVED 的区别复制与故障转移故障检测故障转移选主消息前言【正值春节之际,祝各位新的一年,身体康健,大吉大利。】我们在前面的文章里分析了几种 Redis 高可用性的解决方案。包括:「主从模式」、「哨兵机制」以及「哨兵集群」。「主从模式」具有读原创 2022-01-26 22:20:08 · 2517 阅读 · 0 评论 -
Redis 高可用之哨兵集群
Redis 高可用之哨兵集群前言哨兵集群启动并初始化 Sentinel初始化 Sentinel 状态初始化Sentinel监视的主服务器列表创建连向主服务器的网络连接获取主服务器信息获取从服务器信息创建Sentinel之间的网络连接向主从服务器发送信息接收主从服务器的频道信息Sentinel 的工作原理检测主观下线状态检测客观下线选举领头Sentinel由哪个哨兵执行主从切换?故障转移前言我们在前面的文章中分析了Redis 集群之主从模式。主从复制奠定了 Redis 分布式的基础,但是普通的主从复制并原创 2022-01-10 22:00:24 · 569 阅读 · 0 评论 -
Redis 高可用之哨兵机制
Redis 高可用之哨兵机制主库挂了,如何不间断服务?哨兵机制获取主服务器信息哨兵机制的基本流程监控主观下线和客观下线误判如何减少误判?如何选定新主库?筛选条件打分通知主库挂了,如何不间断服务?在前面的文章中,我们分析了 Redis 主从模式。在这个模式下,如果从库发生故障,客户端可以继续向主库或其他从库发送请求,进行相关的操作。但是如果主库发生故障了,那直接就影响到从库的同步,因为从库没有相应的主库可以进行数据复制操作了。如果说,客户端发送的都是读操作请求,那还可以由从库继续提供服务,这在纯读的业原创 2022-01-02 21:18:01 · 748 阅读 · 0 评论 -
Redis 集群之主从模式
Redis 集群之主从模式如何保证 Redis 的可靠性Redis 主从模式为什么要采用读写分离的方式呢?主从库间如何进行第一次同步?从节点配置第一阶段第二阶段第三阶段PSYN2.0「主从级联模式」分担全量复制时的主库压力"主 - 从 - 从"模式主从库间网络断了怎么办?如何避免增量复制失效replication_buffer 与replication_backlog_bufferreplication_bufferreplication_backlog_buffer如何保证 Redis 的可靠性我们在原创 2021-12-25 22:06:22 · 2232 阅读 · 0 评论 -
Redis 的内存淘汰机制,看这篇就够了。
缓存数据的淘汰机制缓存满了怎么办原创 2021-12-12 17:00:52 · 5524 阅读 · 1 评论 -
解决缓存和数据库双写数据一致性问题
解决缓存和数据库双写数据一致性问题缓存的作用缓存和数据库双写不一致的原因并发引发的一致性问题先更新数据库,后更新缓存先删除缓存,后更新数据库先更新数据库,后删除缓存如何保证「第二步操作失败」的双写一致?基于消息队列的重试机制如何保证并发场景下的数据一致性总结缓存的作用在公司刚起步,业务量比较小的时候。对于系统的读写请求,我们一般的做法都是直接操作数据库。但是随着业务体量的不断增长,用户请求增多,这时候只用数据库处理业务是不够的,存在着性能问题。业内通用做法就是引入「缓存」。缓存可以提升性能,缓解数据库原创 2021-12-09 23:38:34 · 6620 阅读 · 6 评论 -
面试官:Redis 事务完全保证 ACID 么?
Redis事务机制ACID原创 2021-11-20 17:05:48 · 2127 阅读 · 4 评论 -
一文读懂Redis持久化机制
一文读懂Redis持久化机制原创 2021-11-16 00:18:31 · 1661 阅读 · 0 评论 -
关于缓存异常:缓存雪崩、击穿、穿透的解决方案
关于缓存雪崩、击穿、穿透的解决方案前言缓存雪崩缓存雪崩的原因解决方案缓存击穿解决方案缓存穿透解决方案布隆过滤器布隆过滤器原理布隆过滤器如何使用在Java中使用布隆过滤器前言关于缓存异常,我们常见的有三个问题:缓存雪崩、缓存击穿、缓存穿透。 这三个问题一旦发生,会导致大量请求直接落到数据库层面。如果请求的并发量很大,会影响数据库的运行,严重的会导致数据库宕机。为了避免异常带来的损失,我们需要了解每种异常的原因以及解决方案,提高系统的可靠性。缓存雪崩缓存雪崩是指大量的应用请求无法在Redis缓存中进行原创 2021-10-12 22:40:25 · 11592 阅读 · 0 评论 -
Redis分布式锁的正确打开方式
Redis分布式锁的正确打开方式为什么需要分布式锁分布式锁原理单机锁和分布式锁的联系与区别Redis分布式锁的演进史第一版 SETNX如何避免死锁解决锁被别人释放锁过期时间不好评估Redlock为什么需要分布式锁将分布式锁之前,有必要介绍下为什么需要分布式锁?与分布式锁相对的是单机锁也叫本地锁。在单机情况下(单JVM),线程之间共享内存,使用本地锁(线程锁)来互斥,以保证共享变量的正确性。常见的单机锁: synchronized和lock。但是随着分布式的快速发展,本地的加锁往往不能满足我们的需原创 2021-09-18 23:08:34 · 781 阅读 · 0 评论 -
[Redis](一)基本概念
Redis之基本概念1、前情概要1、前情概要redis概念:redis是一个开源的,高性能的key-value数据库,,而且redis是一个NOSQL类型数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案,是一个非关系型的数据库。但是,它也是不能替代关系型数据库,只能作为特定环境下的扩充。总结:关系型数据库:关系型数据库是依据关系模型来创建的数据库,所谓关...原创 2019-08-10 10:56:11 · 217 阅读 · 0 评论