SQLite 并发写入实测:WAL、busy_timeout 与 1000 次请求零丢失
把 SQLite 放上生产后,最常见的担心是「并发写入会不会丢数据」。这篇给出可复现的压测方法与本机实测数字:100 并发 1000 次请求,写入零丢失,P95 88ms。
共 12 篇文章。
把 SQLite 放上生产后,最常见的担心是「并发写入会不会丢数据」。这篇给出可复现的压测方法与本机实测数字:100 并发 1000 次请求,写入零丢失,P95 88ms。
零依赖不是目的,可控才是。当框架的每一行代码你都能读懂,线上排障就不再是“玄学”。 为什么选择零依赖 Composer 生态很繁荣,但也带来三个现实问题: 问题 表现 零依赖的收益 --- --- --- 依赖膨胀 一个博客装进 40+ 个包 部署包只有几百 KB 版本地狱 升级…
后台不需要花哨,需要的是稳定、清晰、可维护。这一篇记录我用 Vue 3 + Naive UI 搭博客控制台的完整思路。 技术选型 Vue 3 组合式 API:逻辑复用靠 composable 而不是 mixin Naive UI:主题变量齐全,暗色模式开箱可用 原生 ESM:不上…
后台的 AI 写作助手从"等 30 秒看结果"改成"逐字往外冒",用的是 30 行 SSE 代码加几条必须配对的响应头。附 Nginx 缓冲导致"不流式"的排查方法。
个人博客、内部工具、边缘站点,SQLite 往往比 MySQL 更合适。前提是你要知道它的边界。 什么时候选 SQLite 单实例部署、读多写少 数据量在百万行以内 希望零运维、备份就是一个文件 必须开的三个开关 WAL 让读写不互相阻塞,是性能的关键。 索引只建在这三类字段上…
内容站的 XSS 几乎都从 Markdown 渲染进来。自研渲染器要处理的不只是转义,还有链接协议、图片事件、原始 HTML 与属性注入——四个坑与对应写法。
结构化数据是把「网页」翻译成「数据」的桥梁。搜索引擎与 AI 都靠它理解页面到底在讲什么。 博客必备的四类 WebSite:站点名称 + 站内搜索入口 BlogPosting:标题、作者、发布时间、正文时长 BreadcrumbList:层级路径 Person:作者身份与社交账号…
结构化数据解决"AI 能不能读懂",但还需要解决"AI 拿不拿得到"。这篇讲实现层:llms.txt 与 llms-full.txt 怎么组织、每篇文章的 Markdown 出口怎么开、14 个 AI 爬虫怎么放行与观测。
缓存做错比不做更糟:改完内容前台不变、登录后被缓存串号、CDN 里躺着半年前的页面。这篇讲清内容站的三层缓存策略与失效方式。
属性钩子(Property Hooks)让"取值/赋值时做点事"不再依赖魔术方法或 setter 样板。这篇讲它解决什么问题、与 __get/__set 的区别,以及只读类与 clone 的配合。
把场景说清楚,我按做过的项目给判断——不合适也会直说。
Enter 发送 · Shift + Enter 换行。信息只用于与你联系,不做其它用途; 不习惯对话也可以直接用下面的表单。
描述一下需求与期望,我会在 1 个工作日内回复;也可以直接通过页面上的联系方式找到我。