![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 86
Ascend1797
这个作者很懒,什么都没留下…
展开
-
基于注解优雅的实现接口幂等性
当多个并发请求同时访问同一个接口时,为了确保接口的幂等性,我们可以使用 Redisson 分布式锁来保证接口在同一时刻只能被一个请求处理。通过使用注解来简化代码实现,可以更方便地应用于不同的接口方法。本文将介绍如何使用 Redisson 分布式锁实现接口幂等性,并通过自定义注解来进行统一管理。我们将使用 Spring Boot 框架作为示例。原创 2023-08-17 13:37:06 · 495 阅读 · 0 评论 -
从原理到实践,分析 Redisson 分布式锁的实现方案(二)
上篇讲解了如何用 Redis 实现分布式锁的方案,它提供了简单的原语来实现基于Redis的分布式锁。然而,Redis作为分布式锁的实现方式也存在一些缺点。本文将引入Redisson来实现分布式锁。原创 2023-07-25 16:59:47 · 1526 阅读 · 0 评论 -
从原理到实践,分析 Redis 分布式锁的多种实现方案(一)
分布式锁是一种用于在分布式系统中协调多个进程或线程之间对共享资源的互斥访问的机制。在分布式系统中,由于各个节点之间没有共享内存,因此无法使用传统的本地锁机制来实现进程或线程的同步,所以需要使用分布式锁来解决这个问题。举一个生活中的例子,假设我们去乘坐高铁,首先要进行检票进站,但有很多人都想进站。为了避免大家同时挤进去,高铁站会设置检票闸机,每次只允许一人检票通过,当有人检票进入时,其他人必须等待,直到检票成功进入后,闸机会再次反锁。后面的人再尝试检票获取检票闸机的进入权。这里的检票闸机原创 2023-06-15 14:33:54 · 1940 阅读 · 0 评论 -
Spring Boot 集成 Redisson分布式锁(注解版)
在 Spring Boot 应用程序中使用 Redisson 可以方便地实现分布式应用程序的某些方面,例如分布式锁、分布式集合、分布式事件发布和订阅等。本篇是一个使用 Redisson 实现分布式锁的详细示例,在这个示例中,我们定义了DistributedLock注解,它可以标注在方法上,配合DistributedLockAspect切面以及IDistributedLock分布式锁封装的接口,来实现redisson 分布式锁的 API 调用。原创 2023-06-09 17:50:36 · 13057 阅读 · 3 评论 -
Redis过期策略与内存淘汰机制
Redis 使用的过期删除策略是惰性删除+定期删除,删除的对象是已过期的 key。内存淘汰策略是解决内存过大的问题,当 Redis 的运行内存超过最大运行内存时,就会触发内存淘汰策略。原创 2023-04-03 10:32:14 · 118 阅读 · 0 评论 -
如何保证Redis缓存与数据库的双写一致性
当更新完数据库之后,为了保障缓存的有效性,要及时更新缓存中的信息。当多个线程同时对缓存和数据库进行更新操作时,就可能会出现缓存和数据库双写不一致的问题。即数据库和缓存的更新结果数据不一致。原创 2023-03-03 16:19:14 · 125 阅读 · 0 评论 -
Redis缓存雪崩、穿透和击穿,如何解决?
对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。这就是缓存雪崩。原创 2023-02-22 09:58:55 · 136 阅读 · 0 评论