文章 2024-09-14 来自:开发者社区

Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案

导航: 【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析 目录 一、四种基础同步策略 1.1 同步策略 1.2 更新缓存还是删除缓存? 1.2.1 更新缓存的优缺点 1.2.2 ...

Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
文章 2024-02-01 来自:开发者社区

一次访问Redis延时高问题排查与总结

1. 背景 20230308 在某地域进行了线上压测, 发现接口RT频繁超时, 性能下降严重, P50 400ms+, P90 1200ms+, P99 2000ms+。细致排查发现其中重要的原因是, 访问缓存rt竟然飙到了1.2s左右。作为高性能爱好者, 榨干CPU的每一分价值是我们的宗旨, 是可忍孰不可忍, 怎么能光空转, 不干活呢? 那就仔细分析下问题。 ...

一次访问Redis延时高问题排查与总结
文章 2023-09-18 来自:开发者社区

一次访问Redis延时高问题排查与总结(2)

1. 背景 在今年4月份,笔者写的 一次访问Redis延时高问题排查与总结 中,通过配置参数实现了一个稳态的连接池,解决了问题(至少在当时这么认为的)。 但近期压测分析发现,仍然有部分请求卡在了从JedisPool中获取连接上。从而导致整体请求处理超时。 如下,每天22:00会固定压测, 从而导致一波超时错误:(理论上按照服务器容量预估, 不应该超时...

一次访问Redis延时高问题排查与总结(2)
问答 2023-07-17 来自:开发者社区

schedule有计划加延时这种么?放个redis key,设置个过期时间,这样也能弄出差不多的效果

schedule有计划加延时这种么?放个redis key,设置个过期时间,这样也能弄出差不多的效果了

文章 2023-06-18 来自:开发者社区

【Redis原理机制 四】基于Redis实现延时任务

背景介绍如果《忍者必须死3》玩儿的比较多的话,你会经常需要每隔4H给自己的坐骑喂食一次,通过喂食来升级。一次喂食后,坐骑需要花4个小时吃完。现在有个新需求,可以使用道具卡来丰富玩法。道具卡有两种,一种是加速卡,一种是自动喂食卡。加速卡会使吃食的时间缩短两个小时,自动喂食卡可以在坐骑吃完当前喂食食物后系统帮助其自动喂食一次【自动延时操作】。基于Zset的实现方式Redis实现延时任务,是通过其数据....

【Redis原理机制 四】基于Redis实现延时任务
问答 2022-10-11 来自:开发者社区

平时在操作Redis时,并没有延迟很大的情况发生,但在某个时间点突然出现一波延时,其现象表现为:变慢

平时在操作Redis时,并没有延迟很大的情况发生,但在某个时间点突然出现一波延时,其现象表现为:变慢的时间点很有规律,例如某个整点,或者每间隔多久就会发生一波延迟,应该如何排查?

文章 2022-05-19 来自:开发者社区

SpringBoot应用篇基于Redis实现延时队列

延时队列,相信各位小伙伴并不会陌生,jdk原生提供了延时队列的使用,当然我们这里介绍的不是这种;在实际的项目中,如果我们有延时队列的场景,可以怎样去实现呢举一个简单的例子,如下单15分钟内,若没有支付,则自动取消订单本文将介绍一种非常非常简单的实现方式I. 方案设计要实现15分钟后自动取消订单,这个也太简单了,来给出一段神级代码new Thread(() -> { // 休眠十五分钟,...

SpringBoot应用篇基于Redis实现延时队列
文章 2022-05-12 来自:开发者社区

使用Redis实现延时任务(二)

前提前一篇文章通过Redis的有序集合Sorted Set和调度框架Quartz实例一版简单的延时任务,但是有两个相对重要的问题没有解决:分片。监控。这篇文章的内容就是要完善这两个方面的功能。前置文章:使用Redis实现延时任务(一)。为什么需要分片这里重新贴一下查询脚本dequeue.lua的内容:-- 参考jesque的部分Lua脚本实现 local zset_key = KEYS[1] l....

使用Redis实现延时任务(二)
文章 2022-05-12 来自:开发者社区

使用Redis实现延时任务(一)(下)

选用的方案实现过程最终选用了基于Redis的有序集合Sorted Set和Quartz短轮询进行实现。具体方案是:订单创建的时候,订单ID和当前时间戳分别作为Sorted Set的member和score添加到订单队列Sorted Set中。订单创建的时候,订单ID和推送内容JSON字符串分别作为field和value添加到订单队列内容Hash中。第1步和第2步操作的时候用Lua脚本保证原子性。....

使用Redis实现延时任务(一)(下)
文章 2022-05-12 来自:开发者社区

使用Redis实现延时任务(一)(上)

前提最近在生产环境刚好遇到了延时任务的场景,调研了一下目前主流的方案,分析了一下优劣并且敲定了最终的方案。这篇文章记录了调研的过程,以及初步方案的实现。候选方案对比下面是想到的几种实现延时任务的方案,总结了一下相应的优势和劣势。方案优势劣势选用场景JDK内置的延迟队列DelayQueue实现简单数据内存态,不可靠一致性相对低的场景调度框架和MySQL进行短间隔轮询实现简单,可靠性高存在明显的性能....

使用Redis实现延时任务(一)(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

NoSQL数据库

阿里云NoSQL数据库提供了一种灵活的数据存储方式,可以支持各种数据模型,包括文档型、图型、列型和键值型。此外,它还提供了一种分布式的数据处理方式,可以支持高可用性和容灾备份。包含Redis社区版和Tair、多模数据库 Lindorm、MongoDB 版。

+关注