首页 文章 精选 留言 我的

文章列表

共 212234 篇
《Redis 8.10 + Spring Boot 实战》第9招 分布式协调——锁、幂等、限流到底应该怎么做

《Redis 8.10 + Spring Boot 实战》第9招 分布式协调——锁、幂等、限流到底应该怎么做

某天凌晨两点,我们的支付服务告警响了:同一个订单居然被扣了两笔钱。查日志发现,支付回调被上游重试了三次,而我们用 Redis 加锁,在 finally 里直接执行了 DEL lockKey。更巧的是,第一次请求处理得太慢,锁超时自动释放,第二个请求拿到了锁,等第一个请求慢悠悠醒过来,反手一个 DEL,把第二个请求的锁删掉了。第三个请求趁虚而入,重复支付。我是...

《Redis 8.10 + Spring Boot 实战》第2招 Key 与 TTL——Redis 真正的第一课不是数据结构,而是 Key 设计

《Redis 8.10 + Spring Boot 实战》第2招 Key 与 TTL——Redis 真正的第一课不是数据结构,而是 Key 设计

我是老李。前一阵子凌晨两点,运维群里突然告警:订单服务 Redis 内存使用率从 65% 一路涨到 92%,接口响应从 90ms 变成 2.1s,部分请求直接超时。我们上去一看,Redis 里躺着 7 亿多个 Key,其中超过 4 亿个没有设置 TTL;命名更是五花八门,有 order_1001、mall_order_1001、mall:order:1001...

《Redis 8.10 + Spring Boot 实战》第3招 String——从缓存、计数器到分布式状态

《Redis 8.10 + Spring Boot 实战》第3招 String——从缓存、计数器到分布式状态

上周三晚上十一点,报警群里突然炸了:商品详情接口响应时间从 80ms 飙到 3.2s,数据库连接池被占满,紧接着 PV 统计开始对不上数。我是老李,一个被 Redis 救过无数次的技术老兵。排查下来,原因并不复杂:每次商品详情都直接打到 MySQL,压力一上来查询排队;同时商品访问次数用了典型的“读出来加一写回去”,100 个实例并发时,丢失的更新次数比统计...

《Redis 8.10 + Spring Boot 实战》第4招 Hash——用 Redis 表达业务对象

《Redis 8.10 + Spring Boot 实战》第4招 Hash——用 Redis 表达业务对象

我是老李。那天凌晨两点,运维的电话把我从睡眠里拽出来:商品中心 Redis 内存突破 70%,缓存命中率还在往下掉,主从同步延迟到了 3 秒。我们当时用 String 存商品 JSON,一个 SKU 一个 key。改一个库存,要读整个 JSON、反序列化、改字段、再序列化写回。大促前批量调价,CPU 直接飙高,连接池也打满。最要命的是,同样一个商品对象,pr...

《Redis 8.10 + Spring Boot 实战》第5招 List、Set、ZSet——从队列、集合到排行榜

《Redis 8.10 + Spring Boot 实战》第5招 List、Set、ZSet——从队列、集合到排行榜

我是老李,在电商后端打杂多年。最近赶上大促,业务侧的需求像雪片一样飞过来:用户注册后要排队发短信、发券;平台要分析用户兴趣做推荐;还要实时展示商品 Top100 榜单。一开始我们拿数据库硬扛,队列用表加轮询,标签去重靠代码判断,榜单用 SQL 排序并缓存。结果大促当天,队列延迟超过 30 秒,标签查询拖垮了从库,榜单更新不及时,老板脸色很不好看。

《Redis 8.10 + Spring Boot 实战》第8招 原子性、Pipeline、事务与 Lua——从一次命令升级到一组可靠操作

《Redis 8.10 + Spring Boot 实战》第8招 原子性、Pipeline、事务与 Lua——从一次命令升级到一组可靠操作

上周三凌晨,订单服务突然开始超卖:一款库存 100 的爆款商品,最终卖出 130 件。我是老李,被拉进排查群时,第一反应是看库存扣减代码。开发小哥写的逻辑很“朴素”:先 GET 库存,判断是否大于 0,再 DECR 扣减,最后 SET 一条订单标记。他坚持认为 Redis 每条命令都是原子的,所以这个流程不会出问题。

《Redis 8.10 + Spring Boot 实战》第10招 Pub/Sub 与 Streams——Redis 不只是缓存,也可以传递事件

《Redis 8.10 + Spring Boot 实战》第10招 Pub/Sub 与 Streams——Redis 不只是缓存,也可以传递事件

晚上十点,运维群里又炸了:订单支付成功,积分没加上,库存也没扣,客户投诉电话打到爆。我是老李,在电商后端摸爬滚打多年,这种“消息丢了”的锅背过不少。以前我们总用 Redis 的发布订阅做广播,可它像大喇叭,喊完就没了,听没听到全凭运气。现在订单量上来,需要一套轻量又可靠的事件流,Redis Streams 刚好补上这个缺口。刚好 Redis 8.10 给 X...

《Redis 8.10 + Spring Boot 实战》第11招 持久化——Redis 在内存里,为什么重启之后数据还能回来

《Redis 8.10 + Spring Boot 实战》第11招 持久化——Redis 在内存里,为什么重启之后数据还能回来

凌晨两点,订单服务突然报错,缓存节点重启后数据回退,流量直接打到数据库。我是老李,一个长期跟缓存和数据库打交道的后端。很多团队把 Redis 当“有就加速、没有就查库”的缓存,直到容器被 kill、节点故障,才发现持久化配置是个盲区。为什么现在要讲?因为 Redis 的持久化能力已经不只 RDB 和 AOF 两种老面孔,8.10 新增的 BACKUP 能力,...

《Redis 8.10 + Spring Boot 实战》第12招 高可用与集群——从一台 Redis 走向生产 Redis

《Redis 8.10 + Spring Boot 实战》第12招 高可用与集群——从一台 Redis 走向生产 Redis

凌晨两点,订单服务突然大面积超时,监控里 Redis 相关错误刷屏。一半是 CROSSSLOT Keys in request don't hash to the same slot,另一半是连接被拒绝。检查配置,Kubernetes 里 Redis Pod 副本数确实是 3,还开了 AOF;但故障切换后,客户端连接池没有刷新拓扑,还在连已经下线的旧主。我是...

《Redis 8.10 + Spring Boot 实战》第13招 内存与性能——Redis 快不代表你的 Redis 系统一定快

《Redis 8.10 + Spring Boot 实战》第13招 内存与性能——Redis 快不代表你的 Redis 系统一定快

我是老李。有一次订单中心接口在上量后 P99 从 180ms 飙到 900ms,监控看 Redis CPU 只有 20%,内存使用率 52%,没有慢查询告警。团队第一反应是调 maxmemory、换 LRU 策略、加连接池。调了一轮,P99 只降了不到 50ms。后来用 Slowlog 抓不到几条慢命令,但客户端埋点发现一次请求里有 40 多次 Redis ...

《Redis 8.10 + Spring Boot 实战》第14招 Redis 8 新世界——JSON、Search、Vector、Time Series 与概

《Redis 8.10 + Spring Boot 实战》第14招 Redis 8 新世界——JSON、Search、Vector、Time Series 与概

最近,一个做户外装备电商的朋友找我,说他们用 Redis 做商品详情缓存,但搜索功能很痛苦。用户输入“帮我找适合长途旅行的轻量背包”,业务上需要同时完成几件事:理解“轻量背包”和“长途旅行”的语义,过滤标签和价格区间,按相关度排序。早期方案是 Redis 扛读,Elasticsearch 做全文和标签过滤,向量数据库单独部署处理语义召回,结果三套系统互相等、...

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册