
Redis
文章平均质量分 84
java干货仓库
公众号和名字一样,关注公众号每天都会推送一篇大厂面试题资讯
展开
-
Spring Boot中使用Redisson实现分布式锁切面
本文介绍了如何在Spring Boot项目中使用Redisson实现分布式锁切面。首先,通过引入Redisson依赖并配置Redis连接信息,确保项目能够与Redis进行交互。接着,自定义@DistributedLock注解,用于标识需要加锁的方法,并配置锁的前缀、SpEL表达式、等待时间、释放时间等属性。最后,通过实现DistributedLockAspect切面类,利用Redisson的RLock接口实现分布式锁的获取与释放逻辑。该切面类通过解析SpEL表达式动态生成锁的key,并在方法执行前后自动加锁原创 2025-05-21 10:44:25 · 435 阅读 · 0 评论 -
Redis 消息队列的优劣势
Redis 作为消息队列与 RocketMQ 等专业消息中间件相比,在特定场景下具有独特优势,但也存在明显局限。原创 2025-05-12 15:21:19 · 899 阅读 · 0 评论 -
如何使用Redis实现排行榜?(含同分按时间排序)
Redis的ZSET(有序集合)是实现排行榜的理想数据结构,但当分数相同时,默认会按字典序排序。要实现同分按时间排序,需要特殊设计。原创 2025-04-25 14:35:30 · 358 阅读 · 0 评论 -
如何使用redis实现朋友圈点赞功能
这样可以天然支持按时间排序。原创 2025-04-25 14:30:32 · 262 阅读 · 0 评论 -
Redis 数据类型及其底层实现原理
Redis 的每种数据结构都有其特定的底层实现,这些实现在不同版本中可能有所优化或调整。原创 2025-04-16 13:35:00 · 302 阅读 · 0 评论 -
多级缓存,本地缓存和Redis缓存怎么保证数据一致性?
,保证数据一致性是核心挑战。以下是常见方案及实现细节,结合。:需维护消息通道,可能因网络问题丢失消息(需配合重试机制)。:精确控制一致性,适合版本化数据。根据业务场景选择合适方案,平衡。:实时性较高,适合分布式环境。:需维护版本号,增加存储开销。在多级缓存架构中(如。原创 2025-04-15 14:18:47 · 368 阅读 · 0 评论 -
布隆过滤器底层实现原理
布隆过滤器的核心是通过多个哈希函数映射到位数组实现高效存在性检测,以概率性误判换取极低的空间和时间复杂度。其设计需权衡位数组大小哈希函数数量和误判率,适用于允许假阳性的海量数据场景。原创 2025-04-14 12:03:41 · 845 阅读 · 0 评论 -
Redis 为什么引入多线程?解决了什么问题?
的混合模型,在提升吞吐量的同时,延续了 Redis 的核心优势。在 6.0 版本之前,Redis 的。Redis 引入多线程主要是为了。Redis 引入多线程。原创 2025-04-12 11:48:58 · 639 阅读 · 0 评论 -
Redis IO多路复用程序底层是怎么实现的?
Redis 的 I/O 多路复用程序是其高性能的核心机制之一,其底层实现依赖于操作系统提供的高效 I/O 事件通知机制。这种设计使得 Redis 单线程即可支撑数十万并发连接,同时保持微秒级响应延迟。原创 2025-04-12 11:35:07 · 793 阅读 · 0 评论 -
Redis 渐进式rehash怎么判定rehash完成了?
来避免一次性迁移所有键值对导致的阻塞。以下是判断旧哈希表()结构扩容或缩容时,会使用。Redis 在以下操作中。在 Redis 的字典(原创 2025-04-06 23:28:04 · 432 阅读 · 0 评论 -
Redis 热key问题怎么解决?
热 Key(Hot Key)是指被高频访问的某个或多个 Key,导致单个 Redis 节点负载过高,可能引发性能瓶颈甚至服务崩溃。原创 2025-04-06 23:14:28 · 1225 阅读 · 0 评论 -
RedLock的底层实现原理?为什么不推荐使用?
基于多个独立的 Redis 节点实现高可用的分布式锁,旨在解决单点 Redis 锁(如。如果业务执行时间较长,客户端可以启动一个后台线程定期(如每隔 10 秒)续约锁的过期时间。曾就 RedLock 的安全性展开激烈辩论。确保锁的强一致性,即使部分节点故障,锁仍然安全。传统的单节点 Redis 锁(如。客户端向所有节点发送 Lua 脚本,仅当。尽管 RedLock 设计初衷良好,但。(《数据密集型应用系统设计》作者)和。是 Redis 官方提出的一种。时可能导致的锁失效问题。原创 2025-04-06 22:47:11 · 931 阅读 · 0 评论 -
Redis 的 Raft 选举协议
的高可用实现中(尽管 Redis Cluster 默认使用类似 Gossip 的协议,但 Raft 的思想在 Sentinel 的领导者选举中有体现)。脑裂指集群因网络分区导致多个节点同时认为自己是主节点,引发数据不一致。Redis Cluster 虽未直接使用 Raft,但其。Redis Sentinel 使用。原创 2025-04-03 16:43:15 · 701 阅读 · 0 评论 -
Redis 的大key问题要怎么解决?如果检测大key?
解决 Redis 的大 Key 问题需要从。原创 2025-03-19 21:38:37 · 616 阅读 · 0 评论 -
Redis的消息队列是怎么实现的
List:适合简单的点对点队列。Pub/Sub:适合发布-订阅模式。Stream:适合高级消息队列,支持持久化、消费者组和消息确认。Sorted Set:适合延迟队列。根据具体需求选择合适的方式,可以充分发挥 Redis 的高性能和灵活性。原创 2025-03-18 18:33:56 · 816 阅读 · 0 评论 -
Redisson 加锁和释放锁底层是怎么实现的?
Redisson 是一个基于 Redis 的 Java 客户端,提供了丰富的分布式对象和服务,其中分布式锁是其核心功能之一。Redisson 的分布式锁底层实现主要依赖于 Redis 的 原子操作 和 Lua 脚本,确保锁的获取和释放是线程安全的。以下是 Redisson 分布式锁的底层实现原理:分布式锁的核心目标是确保在分布式系统中,同一时刻只有一个客户端能够获取锁,从而避免资源竞争和数据不一致问题。Redisson 的分布式锁实现基于 Redis 的 命令和 Lua 脚本,具有以下特性:Redisso原创 2025-03-18 18:12:10 · 1028 阅读 · 0 评论