我正在使用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中正确锁定