嗨,我正在使用 ColdFusion 调用 last.fm api,使用来自此处的 cfc 包。
我担心会超过请求限制,即每个原始 IP 地址每秒 5 个请求,平均超过 5 分钟。
cfc 包有一个中心组件,它调用所有其他组件,这些组件被分成“艺术家”、“轨道”等部分……这个中心组件“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 的新点击?
想知道如何最好地解决这个问题
谢谢