首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在Android中为Room记录设置TTL (过期)?

有没有办法在Android中为Room记录设置TTL (过期)?
EN

Stack Overflow用户
提问于 2022-06-30 06:13:59
回答 1查看 161关注 0票数 2

我正在尝试使用Room而不是OkHttp缓存来实现脱机缓存。每个请求的缓存结果仅在30分钟这样的短时间内有效。

以下是流程:

  1. 应用程序首先从数据库加载数据。
  2. 如果数据可用且未过期,则将其显示给用户。若否,则:
  3. 从API加载数据
  4. 使用新的过期时间(或时间戳)刷新缓存
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-01 01:53:33

没有自动的,也没有内置的方法来处理(房间数据库)中的过期时间。一个人必须手动处理。

一种方法是在表中创建两个列:

  1. createdDate
  2. lastUpDatedDate

每当有Insert或Update操作时,应该用当前时间戳更新lastUpDatedDate列。

下次Read操作发生时,由TTL(在Android中定义)限制它,每当有Write操作时,就更新TTL

这是一种方法。其他方法可以包括实现线程(或者古鲁蒂,如果在代码库中使用Kotlin )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72811068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档