首页
学习
活动
专区
圈层
工具
发布

#缓存

缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。缓存的作用是帮助硬件更快地运行。

EdgeOne 对于中文文件名如:测试.txt 刷新缓存经常没有效果?

紫风十五年服务端架构专家,用高可用承载亿级流量,用高性能支撑毫秒级响应。为业务增长提供坚实的技术底座。
大概率是 URL 编码不一致的问题。中文文件名在请求时会被编码成百分号形式,比如「测试.txt」会变成 %E6%B5%8B%E8%AF%95.txt,而 EdgeOne 的缓存键和刷新接口对「原始字符」和「编码后字符」的处理可能不一致:你刷新的是 A 形式,缓存里存的是 B 形式,自然刷不掉。排查方法:先从浏览器 Network 面板复制实际请求的完整 URL(编码后的那个),用它去提交刷新。长期方案是源站和分发路径统一改用 ASCII 或哈希命名,中文路径在 CDN 这层坑太多,不值得耗着。... 展开详请

云端AI音乐工厂能接住刘欢级曲库吗?

悼念日AI音乐并发洪峰会压垮平台吗?

悼念日AI音乐并发洪峰会压垮平台吗?

缓存设计最容易出现哪些线上故障?

GavinGengai学习
先说结论: discussion 里常背的那几个词——击穿、穿透、雪崩——都不难,难的是它们发生的时候,你根本不知道自己踩了哪一个。大部分线上事故真正让人难受的,不是某个概念没听说过,而是它换了个伪装找上门。 一、最容易中招的三个,以及它们"长得不一样" 缓存击穿:一个热点 key 过期,那一瞬间几百个请求一起打到数据库。它有个典型特征——监控曲线是一根针:平时平平的,到某个点突然飙上去,然后过一会儿自己又下来了。看到这个形状,十有八九就是它。 缓存穿透:查的 key 压根不存在。黑客拿随机 ID 刷你,缓存里永远命中不了,每次都落到数据库。这个的特征是命中率诡异地低,而且流量涨的时候数据库跟着涨,曲线长得像复制粘贴。 缓存雪崩:一批 key 同时过期。这个最隐蔽,因为它是"正常操作"引起的——为了-uniform 分布,大家喜欢给过期时间设成整点。于是到点全一起死。特征是整个接口的耗时一起抬头,不是某一个接口的问题。 二、三个真踩过的现场 第一个,击穿伪装成了"数据库偶发慢查询"。那次我们排查了一天,最后发现是每天早上八点固定来一波——那批 key 的过期时间都是晚上八点设的,到点集体阵亡。从此我们所有 key 的过期时间都加了随机抖动。 第二个,穿透伪装成了"接口有 bug"。我们给所有查询加了默认值兜底,结果有个场景用户真的需要"查无此数据"和"参数不合法"的区别,被兜底成了一样的返回,前端直接白屏。教训是:穿透防护别一刀切用默认值,null 也要分种类存。 第三个,雪崩是我在压测里自己造的。为了模拟效果,我把过期时间统一设成了 300 秒,结果第二轮压测直接把数据库压垮了。这算个笨办法但很好用——想验证雪崩,就手动把一批 key 的过期时间设成一样,看它塌不塌。 三、几个不那么"标准答案"的点 先更新数据库再删缓存这件事,说实话我们长期是这么干的,但也确实出现过删了又被旧值填回去的情况。如果业务能接受强一致,我的建议是那个功能干脆别用缓存,比折腾删除策略省心。 大 key 是个常年没人提的坑。一个几百 KB 的 value,读一次能把内网带宽吃满,业务代码看着完全正常。上线前顺手查一下 value 体积,能省掉后面一半的怪事。 缓存过期路径一定要压测。90% 的缓存故障只发生在 key 失效那一刻,平时跑一百遍都是好的。把过期时间调到 30 秒跑一天,比留着它过期时间三个月更保险。 四、一句可操作的收尾 真要排优先级,我会把顺序排成:先盯命中率和过期那根针 → 再查 value 体积 → 最后才纠结一致性策略。 你们踩过的缓存故障里,最麻烦的是哪一种?有没有那种"看起来是缓存问题,查到最后发现是别的地方"的?我特别想听听反直觉的那种。... 展开详请
先说结论: discussion 里常背的那几个词——击穿、穿透、雪崩——都不难,难的是它们发生的时候,你根本不知道自己踩了哪一个。大部分线上事故真正让人难受的,不是某个概念没听说过,而是它换了个伪装找上门。 一、最容易中招的三个,以及它们"长得不一样" 缓存击穿:一个热点 key 过期,那一瞬间几百个请求一起打到数据库。它有个典型特征——监控曲线是一根针:平时平平的,到某个点突然飙上去,然后过一会儿自己又下来了。看到这个形状,十有八九就是它。 缓存穿透:查的 key 压根不存在。黑客拿随机 ID 刷你,缓存里永远命中不了,每次都落到数据库。这个的特征是命中率诡异地低,而且流量涨的时候数据库跟着涨,曲线长得像复制粘贴。 缓存雪崩:一批 key 同时过期。这个最隐蔽,因为它是"正常操作"引起的——为了-uniform 分布,大家喜欢给过期时间设成整点。于是到点全一起死。特征是整个接口的耗时一起抬头,不是某一个接口的问题。 二、三个真踩过的现场 第一个,击穿伪装成了"数据库偶发慢查询"。那次我们排查了一天,最后发现是每天早上八点固定来一波——那批 key 的过期时间都是晚上八点设的,到点集体阵亡。从此我们所有 key 的过期时间都加了随机抖动。 第二个,穿透伪装成了"接口有 bug"。我们给所有查询加了默认值兜底,结果有个场景用户真的需要"查无此数据"和"参数不合法"的区别,被兜底成了一样的返回,前端直接白屏。教训是:穿透防护别一刀切用默认值,null 也要分种类存。 第三个,雪崩是我在压测里自己造的。为了模拟效果,我把过期时间统一设成了 300 秒,结果第二轮压测直接把数据库压垮了。这算个笨办法但很好用——想验证雪崩,就手动把一批 key 的过期时间设成一样,看它塌不塌。 三、几个不那么"标准答案"的点 先更新数据库再删缓存这件事,说实话我们长期是这么干的,但也确实出现过删了又被旧值填回去的情况。如果业务能接受强一致,我的建议是那个功能干脆别用缓存,比折腾删除策略省心。 大 key 是个常年没人提的坑。一个几百 KB 的 value,读一次能把内网带宽吃满,业务代码看着完全正常。上线前顺手查一下 value 体积,能省掉后面一半的怪事。 缓存过期路径一定要压测。90% 的缓存故障只发生在 key 失效那一刻,平时跑一百遍都是好的。把过期时间调到 30 秒跑一天,比留着它过期时间三个月更保险。 四、一句可操作的收尾 真要排优先级,我会把顺序排成:先盯命中率和过期那根针 → 再查 value 体积 → 最后才纠结一致性策略。 你们踩过的缓存故障里,最麻烦的是哪一种?有没有那种"看起来是缓存问题,查到最后发现是别的地方"的?我特别想听听反直觉的那种。

腾讯云智算能扛住推理洪峰吗?

李福春code for life . 用代码解决碰到的问题。
正面看,腾讯云智算配合弹性容器和HAI/TI平台,具备承接大模型推理洪峰的潜力:GPU资源池可扩缩容,网关可做限流,缓存可挡重复请求,监控能观察GPU利用率、显存和队列深度。对波峰明显的营销、客服和内容生成场景,按量弹性比固定买卡更灵活。 反面看,洪峰真正压垮系统的往往不是算力总量,而是冷启动、模型加载、排队策略和下游依赖。若没有预留实例、多级缓存、熔断降级和优先级队列,扩容速度跟不上流量,P95时延会迅速恶化;成本也会因长时间占卡而失控。 定论是,智算能扛洪峰的前提是SLO、压测和自动扩缩容同时到位。可执行验证:做阶梯加压,从50到500并发,记录QPS、P95、GPU利用率、错误率、扩容耗时和单位请求成本;再演练模型降级、缓存击穿和节点故障,确认熔断与限流阈值。... 展开详请

Open-Sora二次开发先改哪一层?

紫风十五年服务端架构专家,用高可用承载亿级流量,用高性能支撑毫秒级响应。为业务增长提供坚实的技术底座。
已采纳
先动数据管道和 VAE 缓存这层,性价比最高。视频训练的大头是 VAE 反复编码,把 latent 离线缓存成文件,训练时直接读,显存和计算都省一大截,改动只落在 dataloader,风险低好回滚。第二刀切文本编码器,T5-XXL 又大又慢,换成轻量编码器或者把 text embedding 也离线缓存,效果立竿见影。调度器改动小收益也不错,适合拿来练手验证流程。DiT 主干放最后,那是真改架构,4090 单卡基本玩不动,8 卡 A100 也要严格控制改动规模,不然消融实验都跑不完,一个想法验证周期就是几天。先在数据层拿到确定收益,再往模型本身动刀。... 展开详请

补充信息 · 腾讯云开发者社区问题 2212812 —— 微信ClawBot iLink 绑定缓存 bug?

我也是这个问题,已经弄了两天了没有好 同样的sendmessge返回ret=0 但微信端收不到消息,请求排查是否存在旧绑定残留 这是我的 user id o9cq809RhAAANrPiSBx7JAMeJPLk@im.wechat 希望问题尽快解决,谢谢!... 展开详请

【ClawBot iLink 绑定缓存 bug】新实例扫码依旧路由到旧故障 OpenClaw 网关,无法解绑旧 bot?

Edgeone Makers部署后,未清除缓存,访问到旧版本?

紫风十五年服务端架构专家,用高可用承载亿级流量,用高性能支撑毫秒级响应。为业务增长提供坚实的技术底座。
EdgeOne 部署后看到旧版本,别急着怀疑代码没发上去,先按顺序排查缓存。 第一步用无痕窗口或者换浏览器访问,排除本地浏览器缓存;第二步去 EdgeOne 控制台做缓存刷新,指定 URL 或全站刷新都行;第三步检查你的静态资源有没有带版本号,比如 app.js?v=xxx,如果版本号没变,CDN 和浏览器都会认为文件没更新。 最后再确认部署日志里构建和发布是真的成功了,有时候控制台显示成功但构建产物没换。刚部署完等一两分钟再测,边缘节点生效需要点时间。大部分情况到第二步就解决了。... 展开详请

EdgeOne缓存命中仍下载慢?

紫风十五年服务端架构专家,用高可用承载亿级流量,用高性能支撑毫秒级响应。为业务增长提供坚实的技术底座。
缓存命中但下载慢,大概率不是 CDN 的问题,而是回源链路或客户端到边缘节点的网络质量在拖后腿。先确认几个点:命中率是真高还是统计口径有偏差——有些请求命中了缓存但 Range 请求只缓存了部分内容,实际还是要回源。用 curl 带 -I 看响应头里的 CF-Cache-Status 或 EO-Cache-Status,确认是 HIT 还是 MISS。另外检查源站带宽是否打满,EdgeOne 免费版回源走公网不保证质量,高峰期可能拥塞。如果源站在海外,回源延迟叠加缓存未预热的冷启动也会慢。... 展开详请

WorkBuddy提示错误11140如何解决?

技术方舟

科大讯飞 | 资深架构师 (已认证)

江湖人称“山哥”,在数字化、人工智能、电商和金融等领域积累了丰富的平台架构设计经验
我建议你按下面顺序再确认一遍,基本都能把“连不上/接口不匹配/请求失败”的问题清掉: 1)先把旧客户端彻底停干净 退出 WorkBuddy(托盘里也确认退出) 如果还有残留进程,把相关进程结束掉(不需要重启电脑也行) 2)把旧版可能残留的数据再清一遍(重点是两个地方) C:\Users\你的用户名\AppData\Local 清理与 WorkBuddy / 代码助手 / CodeBuddy 相关的缓存目录(能删的都先删) C:\Users\你的用户名\AppData\Roaming 同样清理同名或相近目录(配置、索引、登录态缓存有时也在这) 3)清理系统临时文件,避免旧缓存“复活” 打开运行(Win + R)输入:%temp% 全选删除临时文件 如果提示正在使用,跳过那几个即可 4)确认你现在用的是新客户端 新装的 CodeBuddy 启动后,先正常登录一次 再观察错误是否消失 如果仍报接口相关错误,把错误码/报错原文贴出来,我可以对照判断到底是“旧请求协议残留”还是“配置指向错了” 5)如果你装过多个版本,顺序很关键 有的人是装了新版本但旧版本目录还在,导致它读取的是旧配置 这种情况下建议卸载旧版后再手动清一次对应配置目录(第 2 步那两个路径)... 展开详请

缓存穿透、击穿、雪崩该如何彻底解决?

Kody-凯达想到什么写点什么

这个彻底解决的概率有点模糊了,如果是完全能保证不出现,这个100%在软件行业有点难以体现的还是,但可以向这个100逼近靠拢。一部分是避免,一部分是出现了解决。要做到彻底个人觉得是没法的,总会有各种不可控因素出现。

为什么 caches.default 暴露了但 match/put 返回 cache_exception_not_implemented?

EdgeOne 小助手

腾讯云 | 产品运营 (已认证)

前端性能优化中,网络层、渲染层和运行时优化应该按什么优先级进行?投入产出比如何对比?

默认的网站加速模板缓存一直MISS是什么原因?

EdgeOne 小助手

腾讯云 | 产品运营 (已认证)

您好,方便提供下账号ID吗,我们看下具体情况

opennextjs-pages 插件路由不匹配 /_next/static/chunks/ 下多级路径,怎么办?

如何动态加速?

专家中心服务异常,所有专家加载失败,请问怎么解决?

pages 更新构建,预览看见资源刷新了,但正式域名资源仍然旧的为何?

领券