こんにちは、ColdFusion を使用して last.fm API を呼び出しています。こちらから入手した cfc バンドルを使用しています。
5 分間の平均で、送信元 IP アドレスごとに 1 秒あたり 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 分間キャッシュしていますが、これは違いがありますか? ?
これにどのように対処するのが最善か疑問に思う
ありがとう