目前有这样一个需求, 前段时间自己做了一个队列 用于存放一些业务数据
将两个功能模块解耦。然后为了保证内存的持久化 想通过文件保存队列中的数据。
目前有一个困难地方是 队列中的数据会不断的变化 怎么保证文件和内存中数据的一致?
可能会有临时停止服务的场景 重启后需要能从文件中恢复数据 因此要求文件中的内容和内容中的数据一致
我为难的是怎么删除文件中指定位置的数据
目前有两个思路:
一:不直接记录数据 而是记录添加和删除操作的日志 通过重放来做数据的恢复。
二:不直接删除 而是将要删除数据的位置记录下来当作标记,每隔一段时间重新将内存中的数据写道文件里并清除记录的位置。如果重启后恢复数据 根据数据文件和记录的删除位置 恢复数据
感觉还是不满意,想请教下新的思路