我在我的网站上缓存推文(有 30 分钟的过期时间)。当缓存为空时,第一个发现的用户将重新填充它。
但是,那时 Twitter API 可能会返回 200。在这种情况下,我想将之前的数据再延长 30 分钟。但是之前的数据已经丢失了。
因此,我想考虑重新填充缓存,例如,在过期时间前 5 分钟,这样我就不会丢失任何日期。
那么在使用php的memcache::get()时如何知道一个item的过期时间呢?
此外,是否有更好的方法来执行此操作?
最佳答案
那样的话,这不是更好的逻辑吗?
- 如果缓存超过 30 分钟,尝试从 Twitter 中提取
- 如果成功检索到新数据,则覆盖缓存
- 无限期地缓存数据(或比您打算缓存的时间长得多)
- 在单独的键中记录上次更新缓存的时间(当前时间)
- 冲洗,重复
关键是,只有在有新数据的情况下才用新数据替换数据,不要让旧数据自动丢弃。
关于php - 在 php 中获取内存缓存项的过期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2445738/