推荐用 FastAPI 写一个只读 API:从建表到部署
我的个人知识库的后端就是一个只读 API:查文章、看统计、读知识页。几千行代码,跑在一台 2 核机器上。这篇说一下结构和几个关键决策。 为什么只读 内容由后台脚本写入(同步、编译),API 只负责查询。好处: 不…
我的个人知识库的后端就是一个只读 API:查文章、看统计、读知识页。几千行代码,跑在一台 2 核机器上。这篇说一下结构和几个关键决策。 为什么只读 内容由后台脚本写入(同步、编译),API 只负责查询。好处: 不…
Vue 3.6 通过三大核心改进,进一步巩固其高性能优势: Alien Signals 1.0 集成:重构响应式系统,降低内存占用与追踪开销。 Vapor 模式(实验性):全新编译策略,减少 DOM 操作,提升高频更新性能。 内部类型…
串讲思路:MQ是什么 → 分类选型 → RocketMQ架构 → 持久化 → 消息类型 → 常见问题 一、什么是 MQ MQ(Message Queue)是应用之间的异步通信中间件:生产者把消息投进队列,消费者从队列里取出来处理,双方不需要直接…
一、概念 思路:概念 → 解决的问题 1. Redis 是什么 Redis 是一个基于内存的 Key-Value 非关系型数据库。 支持丰富的数据结构,比如 String、Hash、List、Set、ZSet,读写性能极高。 可以用作缓存、分布式协调,…
串讲思路:JVM基础概念→JVM内存结构 → 类加载 → 垃圾回收(GC) → JVM调优 零、JVM基础概念 什么是JVM Java Virtual Machine(Java 虚拟机),通过**.class字节码文件**实现跨平台,一次编写,到处运行(write once r…
Redis 内存到上限之后的行为,由 maxmemory-policy 决定。选错了,轻则缓存命中率下降,重则数据丢失、请求变慢。 先看现状 redis-cli INFO memory | grep -E 'used_memory_human|maxmemory_human|maxmemory_policy…
幂等性设计 一、什么是幂等性? 同一个操作,执行一次和执行多次,对系统产生的最终结果完全一致。 理解它要注意两点本质: 幂等约束的是**"最终状态"**,不是"请求次数"。哪怕请求来了 100 次,只要最终状态唯一…
CSS对于前端来说熟悉不过了,但是现在各种UI库已经极大的方便了我们开发,省去了很多时间写css,同时我们也往往忽略了css的基础,况且它还在不断更新呢,所以咱们还是得定期的补充一下自己的css基础,了解了解它的…
只有一两台机器的时候,上一套 Zabbix 或 Prometheus + Grafana 有点重。用几个脚本 + 告警,能覆盖绝大多数「出事前能发现」的需求。 要监控什么 按重要性排: 服务是否活着(HTTP 200) 磁盘使用率 内存和负载 …
版本与定位 ES6 即 ECMAScript 2015,是 JS 的下一代标准;此后版本改用年份命名(ES2016、ES2017…)持续更新。 深入阅读三方库源码前需先掌握 ES6 语法。 箭头函数 this 指向定义时的上下文对象,而非调用时的…
服务每隔几小时重启一次,systemctl status 只显示 SIGKILL 或者 code=killed,看不出原因。这类问题要靠 journalctl 和历史记录。 先看 status 的关键行 systemctl status kb-web 重点看: Active: failed (Resul…
「本地能跑,服务器跑不了」这个问题,九成是依赖版本不一致。虚拟环境是基础操作,但细节没做好照样出问题。 建环境 python3 -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activa…
Redis 重启之后数据没了,是最让人心慌的事故之一。要么是没开持久化,要么是配了但没生效。这篇把 RDB 和 AOF 讲清楚。 RDB:快照 按条件触发生成整个数据集的二进制快照: save 900 1 # 900 秒内至少 1 个…