// notes

笔记 / 速记

碎片化的想法、代码片段与发现。不追求完整,只追求当下的真实记录。

#sqlite

WAL 模式真香

不需要再为读写互锁头疼,PRAGMA journal_mode=WAL 直接搞定。读不阻塞写、写不阻塞读,比 DELETE 模式并发高太多。

PRAGMA journal_mode = WAL;
#思考

缓存的正确位置

缓存应该贴在数据层,而不是业务逻辑里。否则在分布式下会到处是脏数据。一致性是给系统看的,不是给单接口看的。

#db

事务隔离级别的取舍

READ COMMITTED 还是 REPEATABLE READ?前者防脏读,后者防不可重复读。MySQL 默认 RR,PostgreSQL 默认 RC——选择即取舍。

#性能

连接池大小的微调

连接池不是越大越好 (max-active)。公式:connections = (CPU 核数 × 2) + 磁盘数。少而稳的连接,比多而乱的连接吞吐更高。

#稳定性

超时 + 重试 = 雪崩

没有超时的调用等于把整条链路交给下游。但重试叠加重试就是雪崩。timeout 设短,retry 设少,circuit breaker 兜底——三者缺一不可。

#工具

本地优先的代价

本地优先意味着放弃跨设备同步的便利。但如果数据本身就是"给自己看"的,这个交换值得——换来的是掌控感和零费用。