php - 在 php 中获取内存缓存项的过期时间?

标签 php memcached

我在我的网站上缓存推文(有 30 分钟的过期时间)。当缓存为空时,第一个发现的用户将重新填充它。

但是,那时 Twitter API 可能会返回 200。在这种情况下,我想将之前的数据再延长 30 分钟。但是之前的数据已经丢失了。

因此,我想考虑重新填充缓存,例如,在过期时间前 5 分钟,这样我就不会丢失任何日期。

那么在使用php的memcache::get()时如何知道一个item的过期时间呢?

此外,是否有更好的方法来执行此操作?

最佳答案

那样的话,这不是更好的逻辑吗?

  • 如果缓存超过 30 分钟,尝试从 Twitter 中提取
  • 如果成功检索到新数据,则覆盖缓存
  • 无限期地缓存数据(或比您打算缓存的时间长得多)
  • 在单独的键中记录上次更新缓存的时间(当前时间)
  • 冲洗,重复

关键是,只有在有新数据的情况下才用新数据替换数据,不要让旧数据自动丢弃。

关于php - 在 php 中获取内存缓存项的过期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2445738/

相关文章:

ruby - 我如何测试 Rack::Cache 是否在带有内存缓存的 Heroku 上与 Sinatra 应用程序一起运行?

c# - 在 AWS Elasticache 中使用 NHibernate memcached 二级缓存的问题

php - 如何从两个日期之间堆叠的表中获取所有行?

php - MYSQL/PDO PHP系统---寻找大笔画输入

python - 如何在 Django 中设置 Memcached 检索超时

php - 加速 jQuery AutoComplete(不可避免的长列表)

PHP - 多种形式,提交时从两者获取值?

php - MySQL:如果所有值都存在则返回真

php - 从本地主机服务器 xampp/sendmail 发送电子邮件

memcached - 使用 apache Camel 缓存 http 请求