存储优化

102 阅读1分钟

常规方案

确保IO操作发生在非主线程

Hook或者是AOP辅助

SharedPreferences相关

加载慢:初始化加载整个文件

全量写入:单次改动都会导致整体写入

卡顿:补偿策略导致

SharedPreferences替代者MMKV,github.com/Tencent/MMK…

mmap和文件锁保证数据完整

增量写入,使用Protocol Buffer

支持从SharedPreferences迁移

日志存储优化

大量服务器需要日志库支持

对于性能的要求:不影响性能,日志不丢失、安全

常规实现

每产生一个日志,写一遍到磁盘中:不丢失、性能损耗

开辟一个内存buffer,先存buffer,再存文件:丢日志

mmap

内存映射文件

优势:高性能、不丢失

业界实现:Xlog、Logan

其它

常用数据的缓存,避免多次读取

合理选择缓冲区Buffer大小:4-8KB

\