Article / 2026/05/31
性能优化 (五十七) 存储优化
性能优化 (五十七) 存储优化 的技术笔记。
存储优化
常规方案
- 确保IO操作发生在非主线程
- Hook或者是AOP辅助
存储优化
- SharePreferences相关
- 加载慢:初始化加载整个文件
- 全量写入:单次改动都会导致整体写入
- 卡顿:补偿策略导致
- SharePreferences替代者MMKV
- mmap和文件锁保证数据完整
- 增量写入、使用Protocol Buffer
- 支持从SharePrefrences迁移
日志存储优化
- 大量服务需要日志库支持
- 对于性能的要求:不影响性能、日志不丢失、安全
- 常规实现
- 每产生一个日志,写一遍到磁盘中:不丢失、性能损耗
- 开辟一个内存buffer,先存buffer,再存文件:丢日志
- mmap
- 内存映射文件
- 优势:高性能、不丢失
- 业界实现:Xlog、Logan
- 其他
- 常用数据的缓存,避免多次读取
- 合理选择缓存区Buffer大小:4-8kb
Giscus 未启用:请在
src/site.config.ts中配置 repoId 与 categoryId。