【发布时间】:2021-05-17 03:09:03
【问题描述】:
这个问题可能是少数人的解决方案,但在这里尝试讨论缺点。
我有一个项目,我在其中使用 ROOM 来缓存服务器响应。虽然它是缓存数据的几种技术之一,但与其担心做某事的最佳方式,不如让我们开始(因为我需要查询要显示的特定存储数据)并构建整个项目在 ROOM 上作为缓存技术。我现在在做什么,
第一次通话,
- 从 API 获取数据。
- 根据需要处理数据。
- 将其插入 ROOM 数据库。
- 从 ROOM 中获取它以显示。
缓存数据可用的后续调用,
- 从 API 获取数据同时显示 ROOM 中的缓存数据。
- 用新的响应更新 ROOM DB。
- 更新用户界面。
我绝对同意上述逻辑在大多数情况下都能完美运行。
但是这里还有一个缺点。至此,我的项目已经变得庞大,显示的每一个数据都依赖于 ROOM DB。我所做的每个版本都会在表中进行一些或其他更改,我需要为其编写迁移。现在我的应用用户分布在 5 到 6 个不同版本的应用中。应用的可维护性变得越来越昂贵。
我的问题是,
- 是否有更好的方法来处理迁移复杂性?
- 如果我将时间花在 REVAMP 上,除了 ROOM 缓存之外,我还应该考虑什么 我的缓存逻辑?
我希望我能够解释我的问题,感谢您在我的问题上花费的时间。
【问题讨论】:
标签: android caching android-sqlite retrofit2 android-room