为什么要少用本地缓存
没错本地缓存应该尽量少用。大多数业务并不值得为了那一点性能引入本地缓存带来的复杂度。我自己的原则一直都是能用数据库扛的绝对不用缓存。能用中央缓存扛的绝对不用本地缓存。这其实也是一个软件设计原则减少依赖降低管理复杂度。之前我还专门写过一篇内容好的架构不一定是增加组件而是敢于删除组件。经验丰富其厉害的程序员还有一项本事就是知道哪些东西暂时可以不用以便降低系统的复杂度。 很多项目发展一段时间后总喜欢不断往里面加组件。比如 觉得 MySQL 慢就上 Redis。 觉得要异步就搞 MQ。 觉得以后可能有很多规则就先上规则引擎。 其还得意的认为每加一个组件是在提升架构。实际上也是在增加系统复杂度。 比如有些业务访问量并不高MySQL 完全能扛住你却还是加了一层 Redis。你有大把的优化手…2 赞同 · 4 收藏 · 0 评论 想法感兴趣的可以去看一下。下面我先给你看两个真实的例子。第一个是我以前做过的商品服务。大促的时候瞬时百万并发。很多人看到这个量级第一反应就是本地缓存肯定少不了。实际上并不是,我们只有在大促那半个小时才会临时开启本地缓存,平时本地缓存一直都是关闭的。为什么因为维护几十台机器上的本地缓存让它和数据库、Redis保持一致难度很高。数据更新以后要通知几十台一起更新或者删除缓存。少处理一台就是脏数据或者网络抖动一下也可能出现数据不一致。第二个例子是亿级用户的购物车服务。也是一样。只有品牌部门发公众号、大型促销活动、热点流量突然暴涨的时候我们才会临时开启本地缓存。活动结束以后又关闭其他时间一直都是Redis扛。原因还是一样。Redis已经足够快了。没有必要为了几十微秒甚至几百微秒的优化去承担缓存一致性的复杂度。另外还有一个很多人容易忽略的问题就是gc问题。 本地缓存会占用JVM堆内存。如果控制不好容量很容易导致Full GC。当然也可以使用堆外缓存。但我的建议是功力不到家不要随便用堆外缓存。我们当时为了使用堆外缓存是专门安排人研究了很长时间做了很多轮压测确认稳定以后才敢上线。否则一个缓存优化最后可能变成新的故障来源。我个人建议是把当前的代码进行优化直到瓶颈真的到了才考虑去引入缓存。

相关新闻

好奇一下,程序员是怎么给布尔变量命名的?

好奇一下,程序员是怎么给布尔变量命名的?

翻了一下我司某个微服务工程的代码,发现布尔变量的命名挺五花八门的。同一个文件里,有叫flag的,有叫success的,有叫normal的,有叫result的,还有叫warning和ignore的。各种风格混在一起。 这块我肯定是不管的…

2026/7/23 9:52:16阅读更多 →
深入解析Stellaris ADC可编程采样序列器:从原理到寄存器级实战

深入解析Stellaris ADC可编程采样序列器:从原理到寄存器级实战

1. 项目概述与ADC核心价值在嵌入式系统开发中,我们经常需要与外部模拟世界打交道,无论是读取一个电位器的位置、监测电池电压,还是采集来自各类传感器的微弱信号,都离不开一个关键角色——模数转换器(ADC)。…

2026/7/23 9:50:16阅读更多 →
基于LoRA的LLaMA3-8B微调实战:打造甄嬛传角色AI

基于LoRA的LLaMA3-8B微调实战:打造甄嬛传角色AI

1. Chat嬛嬛LLM微调项目概述 Chat嬛嬛是基于《甄嬛传》剧本数据,采用LoRA微调技术对LLaMA3-8B大语言模型进行个性化改造的项目。这个项目最吸引人的地方在于,它成功地将古典文学角色的人格特征注入到现代AI模型中,让一个冰冷的算法能够用甄嬛…

2026/7/23 9:50:16阅读更多 →
Python 推导式从零上手:一行代码搞定数据转换

Python 推导式从零上手:一行代码搞定数据转换

Python 推导式从零上手:一行代码搞定数据转换 第一次看到推导式的时候,可能会觉得它有点"反人类"——明明三四行就能写完的逻辑,非要挤在一行里,看着像天书。但用顺手之后会发现,它确实能省掉不少冗余代码&…

2026/7/23 11:27:18阅读更多 →
本地部署AI图像生成项目:从环境配置到API集成实战指南

本地部署AI图像生成项目:从环境配置到API集成实战指南

这次我们来看一个名为"今天是酷酷的"的项目,从名称来看可能涉及图像生成、风格转换或个性化内容创作。这类项目通常关注如何在本地环境中快速部署并实现特定风格的视觉内容生成。 对于这类项目,我们最关心的是它的实际可用性:显存…

2026/7/23 11:27:18阅读更多 →
DisplayPort信号完整性设计:SN75DP130重驱动器EVM深度解析与实战指南

DisplayPort信号完整性设计:SN75DP130重驱动器EVM深度解析与实战指南

1. 项目概述如果你正在设计一款需要长距离传输DisplayPort信号的设备,比如一个多屏扩展坞、一个带长线缆的KVM切换器,或者一个高分辨率视频分配器,那么信号完整性问题大概率会成为你开发路上的第一个“拦路虎”。DisplayPort信号速率动辄数Gb…

2026/7/23 11:27:18阅读更多 →
Orin 上 USB / CSI 相机采集踩坑

Orin 上 USB / CSI 相机采集踩坑

文章目录1. 范围2. USB 和 CSI3. 工具、权限、板况4. USB:枚举、格式、抓帧5. USB 采集脚本6. USB 常见坑6.1 设备号漂移6.2 带宽和格式6.3 曝光和自动档6.4 多个 video 节点6.5 供电和口7. CSI:和 USB 不是同一套排障8. 接到检测和容器9. 掉线重连10. 采…

2026/7/23 11:27:18阅读更多 →
嵌入式C语言编程:从硬件寄存器映射到中断处理的编译器扩展实践

嵌入式C语言编程:从硬件寄存器映射到中断处理的编译器扩展实践

1. 项目概述:C语言在嵌入式领域的核心价值 在微控制器和嵌入式系统的世界里,代码的每一字节、每一个时钟周期都弥足珍贵。作为一名长期与8位、16位MCU打交道的工程师,我见过太多项目在汇编语言的泥潭中挣扎,也见证了C语言如何成为…

2026/7/23 11:27:18阅读更多 →
Django毕设项目:基于 Django 的农产品溯源直售电商网站设计与实现 农户直卖模式生鲜交易信息化平台 (源码+文档,讲解、调试运行,定制等)

Django毕设项目:基于 Django 的农产品溯源直售电商网站设计与实现 农户直卖模式生鲜交易信息化平台 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/23 11:25:18阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →