ストアド プロシージャをキャッシュしようとしています。ColdFusion 10 をダウンロードし、Railo 4 サーバーで実行しています。Railo Admin (デフォルトのキャッシュ) でデータベース接続をセットアップしており、Adobe ドキュメントによると、cachedWithin
属性を使用するだけでよく、キャッシュされるはずです。ただし、そうではなく、ページに10秒以上かかるため、これは確かです。ロードする!
ストアドプロシージャの周りのタグを使用して動的にキャッシュしようとしましたcfcache
が、キャッシュしたくないページ全体をキャッシュし続けました。CachePut
もCacheGet
機能しますが、私のコードは効果的に対応するには複雑です。
超混乱。
関連するコードは次のとおりです。
<cfstoredproc datasource="#XXX#" procedure="XXX" cachedWithin="#CreateTimeSpan(0,3,0,0)#">
<cfprocparam type="In" value="#IDate#" cfsqltype="CF_SQL_TIMESTAMP">
<cfprocparam type="In" value="12" cfsqltype="CF_SQL_INTEGER">
<cfprocparam type="In" value="1" cfsqltype="CF_SQL_BIT">
<cfprocresult name="DeptQuery">
</cfstoredproc>
更新: ストアド プロシージャは、それほど時間のかかるものではないことがわかりました! そして、ついにキャッシュを手に入れました!しかし、同じストアド プロシージャの何千ものバリアントを複数のページ (各ページだけで複数のストアド プロシージャを持つ) にキャッシュしており、指定したのは cachedWithin パラメータだけであるため、それがどのように行われているかについて混乱しています。それらをビューにプルアップするときに、どのプロシージャーがどれであるかをどのように知るのでしょうか?