- 博客(14)
- 收藏
- 关注
原创 为什么 InnoDB 的可重复读隔离级别几乎“消灭了”幻读?——MVCC 与 Next-Key Lock 的分工协作
InnoDB的RR隔离级别通过MVCC和Next-Key Lock的协同机制几乎消除了幻读问题。对于快照读(普通SELECT),MVCC通过创建事务级Read View冻结数据视图,使事务始终读取同一历史快照,既解决了不可重复读,也避免了新行出现的幻读。而对于当前读(如SELECT FOR UPDATE),InnoDB强制读取最新数据并加锁:行锁防止数据修改,Next-Key Lock(行锁+间隙锁)则锁住可能插入新记录的间隙位置,从物理层面阻断幻读。这种设计实现了读写分离:MVCC保障读的高并发,锁机制确
2025-12-18 15:44:33
605
原创 服务线程被占满?Tomcat 线程不够用?接口一慢全站雪崩?Tomcat 线程池、exec 线程与服务线程:一次彻底讲清
本文深入剖析了Tomcat线程模型及其在Web应用中的关键作用。核心观点指出:HTTP请求处理线程(服务线程)是稀缺资源,不能被长时间阻塞。文章澄清了NIO解决的是网络IO阻塞而非业务阻塞的误区,强调同步调用模型在高并发场景的天然缺陷。通过AI绘画案例,阐述了异步架构的本质是线程职责拆分,让"快的事情快做完,慢的事情慢慢做"。最后指出单纯调大线程池不是解决方案,提出高并发系统的核心在于"尽快把线程还回去"。
2025-12-17 18:19:06
761
原创 一文搞懂令牌桶限流:平均速率与突发流量的本质(分布式令牌桶实现思路)
本文深入解析令牌桶限流算法的核心原理与工程实践。令牌桶通过固定速率生成令牌来限制系统长期平均处理能力(如100 QPS),同时利用桶容量允许短时间内消耗积累的令牌处理突发流量(如瞬时100请求)。文章通过时间线推演展示了"平均速率限制"与"突发流量允许"的辩证关系,并对比了漏桶算法的差异。针对分布式场景,提出了基于Redis+Lua的实施方案,详细说明如何原子化维护令牌状态,确保多节点限流一致性。最后指出Redis令牌桶属于"软限流",适合网关拦截
2025-12-17 18:00:13
1118
原创 HTTP 无状态与 Cookie 状态保持机制详解
HTTP协议本质上是无状态的,每个请求相互独立。Cookie机制通过在客户端存储状态信息并自动回传服务器,实现了无状态协议下的状态保持。Cookie不仅存储会话ID,还包含用户偏好、业务状态、安全令牌等多元信息。浏览器自动管理Cookie的存储和传递,无需前端干预,服务端通过Set-Cookie设置。这种设计既保持了HTTP的无状态优势,又提供了状态感知能力,是Web应用实现连续用户体验的关键基础设施。敏感信息应使用HttpOnly Cookie,且永远不要完全信任客户端数据。
2025-12-16 19:18:26
666
原创 服务器的流量、带宽是什么?计费详解
服务器流量和带宽是网站运营的关键计费项。带宽指数据传输速度上限(如5Mbps),决定网站并发访问能力;流量指实际传输数据总量(如100GB),影响费用成本。云服务器通常提供两种计费模式:固定带宽(流量不限但带宽固定)和按量付费(实际流量计费)。用户访问网站时,服务器向外发送的HTML、JS、图片等资源都会消耗出站流量。建议图片多的网站采用对象存储+CDN组合,既能降低流量费用又能提升访问速度。选择计费方案时,访问量稳定的网站适合固定带宽模式,流量波动大的可考虑按量付费。
2025-12-14 12:28:09
848
原创 联合索引有什么作用,给三个字段添加一个索引和分别给这三个字段对应添加索引,有什么区别?
联合索引(复合索引)通过将多个列组合在一个索引中,可优化多列查询、避免回表、提升排序效率,并支持最左前缀匹配。相比单独索引,联合索引存储空间小、写入性能好,在多列查询时效率更高;但单独索引在非最左前缀查询时更具优势。实际应用中应根据查询模式选择:高频多列查询用联合索引,多变单列查询用单独索引,也可混合使用。设计时需考虑列的选择性、查询场景和读写比例,并通过EXPLAIN验证索引使用情况。
2025-12-14 01:08:43
348
原创 缓存穿透、缓存击穿、缓存雪崩场景以及解决方案
缓存问题主要包括穿透、击穿和雪崩三种场景。缓存穿透指查询不存在数据导致频繁访问数据库,可通过缓存空值或布隆过滤器解决;缓存击穿是热点key失效引发瞬时高并发查询,可用互斥锁或异步刷新应对;缓存雪崩由大量key同时失效导致,需打散过期时间并建立熔断机制。针对不同问题需采取相应策略,如分布式锁、多级缓存、随机化TTL等,同时结合监控和预警机制保障系统稳定性。(150字)
2025-12-12 16:16:39
1057
原创 分片上传,断点续传流程详解
分片上传流程通过前后端协作,实现了高效、可靠的文件传输。关键点包括MD5校验、Redis临时存储和自动合并。如果你正在开发类似系统,可以考虑以下优化:- 断点续传:后端记录已上传分片,前端查询后跳过已完成部分- 并行上传:使用Promise.all同时上传多个分片- 错误重试:为每个分片添加重试机制- 安全性:添加权限校验和文件类型限制断点续传通过数据库和Redis的结合,实现了高效恢复。针对断电等极端场景,引入本地存储和文件验证是关键优化点。重试机制:每个分片上传失败时,自动重试3次。
2025-10-26 22:17:19
1013
原创 深入解析 Spring AI 中的 RAG:什么是RAG,完整的RAG工作流,SpringAI中的RAG Advisor的核心区别与选型指南
一、什么是 RAG?二、完整的RAG工作流三、Spring AI 中的检索增强生成 Advisor 选型
2025-10-25 10:16:21
755
原创 PostgreSQL向量扩展pgvector的Docker化部署详解
确保该目录存在或 Docker 有权限创建它。这是防止数据丢失的关键!务必设置密码、端口映射和数据卷以持久化数据。: 替换为你想要的用户名、密码和数据库名。: 替换为你主机上用于存储数据库数据的。扩展的信息,表明它已成功加载并可用了。: 给你的容器起个名字。
2025-10-24 19:37:03
357
原创 Bing以图搜图详解
用户可以使用一张图片来搜索相似的图片,相比传统的关键词搜索,能够更精确地找到与上传图片内容相似的图片。这个功能也经常应用到购物场景,查询相似的商品 为了获得更多的搜索结果,我们的需求是从 全网搜索图片,而不是只在自己的图库中搜索。主要有 2 种方案:1.第三方 API 2.数据抓取(爬虫) 如果想从自建的图库中搜索,我们是需要建立数据集的,这个实现起来就比较麻烦了,因为以图搜图涉及一些比较复杂的算法。但是我们可以使用百度 AI 提供的图片搜索 API 参考官方
2025-09-14 11:37:22
2010
原创 轻松获取Bing高质量素材
在互联网上获取图片素材时,版权问题是必须高度重视的关键因素。绝大多数专业图片素材网站(如Shutterstock、Getty Images、视觉中国等)都对其平台上的内容实施了严格的版权保护措施。
2025-09-13 20:48:32
519
原创 Session与Cookie关系详解,解决方案Token
默认:session 信息通常存储在服务端内存中,适合单服务器环境。多服务器部署:内存存储会导致 session 不相通,需采用集中式存储(Redis、数据库)、sticky session、JWT 或 session 复制来解决。推荐方案:在现代分布式系统中,Redis是最常见的 session 存储方案,因其高性能和易用性;对于无状态需求,JWT也是热门选择。
2025-05-15 20:00:16
1682
原创 XXL-JOB 3.1.0 环境搭建及实现入门案例
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。
2025-05-10 18:03:09
2482
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅