三、工作原理
1、saveMessage:保存消息
- 主数据库可用
- 写入主数据库
- 写入 WAL(必须成功确保持久性)
- WAL 会定期异步刷新道备份数据库
- 主数据库不可用
- 写入之前进行查询-防止重复写入
- 备用数据库中没有该数据,写入备用数据库
- 写入 WAL
- WAL 写入之前进行查询-防止重复写入
- 备用数据库中没有该数据,写入备用数据库
2、getHistory:获取历史记录
- 从主数据库读取
- 如果主数据库失败,则从备用数据库读取
3、clearHistory:清除历史记录:
清除所有三个:主数据库、备用数据库和 WAL
4、WAL 刷新工程线程:
按间隔运行(默认 5 秒),将处理的 WAL 条目刷新道备份数据库中