使用PHP/ASPX缓存JSON提要


Caching JSON feed using PHP / ASPX

我正在使用wunderground api创建一个天气应用程序,由于它将每天/分钟的请求数量限制为每天500个,每分钟10个,我需要使用ASPX或PHP实现某种形式的缓存,以便保持在该限制内。

此外,不幸的是,我还没有访问数据库,我曾考虑过生成一个文本文件,但我担心它可能会在编写过程中试图获取数据,从而导致错误。

在处理可能出现的任何并发问题时,将这些数据缓存到单个位置的最佳方式是什么?

谢谢你的帮助。

ASP.NET具有可用于您的目的的缓存-请参阅类http://msdn.microsoft.com/en-us/library/system.web.httpcontext.cache.aspx.

缓存值10分钟您可以使用它,然后缓存值自动过期,实际值可以重新加载:

Cache.Insert(cache_key, value, null, DateTime.Now.AddMinutes(10),
  Cache.NoSlidingExpiration);

检索缓存值的方式:

return Cache[cache_key];

对于缓存值的锁定(在重新加载期间),您可以使用lock关键字,更多详细信息可以在此处找到:在ASP.NET中正确锁定