你好,我正在使用ColdFusion调用last.fm api,使用的是从这里获取的cfc bundle。
我担心超过请求限制,即每个来源IP地址每秒5个请求,平均分布在5分钟内。
cfc bundle有一个中央组件,调用所有其他组件,这些组件分为“artist”、“track”等部分...这个中央组件“lastFmApi.cfc.”在我的应用程序中启动,并持续存在于应用程序的生命周期中。
// Application.cfc example
<cffunction name="onApplicationStart">
<cfset var apiKey = '[your api key here]' />
<cfset var apiSecret = '[your api secret here]' />
<cfset application.lastFm = CreateObject('component', 'org.FrankFusion.lastFm.lastFmApi').init(apiKey, apiSecret) />
</cffunction>
现在如果我想通过一个处理程序/控制器调用API,例如我的艺术家处理程序...我可以这样做。
<cffunction name="artistPage" cache="5 mins">
<cfset qAlbums = application.lastFm.user.getArtist(url.artistName) />
</cffunction>
我对缓存有些困惑,但在此处理程序中将每个对API的调用缓存5分钟,这样做是否有任何区别,因为每当有人访问新的艺术家页面时,这仍然会被视为对API的新请求?如何最好地解决这个问题?谢谢。
cache="5 mins"
。虽然它除了添加一些自定义元数据之外并没有做任何事情。 - Adam Tuttle