私はモジュールを使ってColdBoxアプリケーションを開発しており、しばらくの間、ビューをキャッシュするためのキャッシング機能を使いたいと思っていました。ColdBoxアプリケーションのrenderView()のcacheTimeout設定が無効なのはなぜですか?
component{
property name="moduleConfig" inject="coldbox:moduleConfig:mymodule";
...
function widget(event, rc, prc){
var viewData = this.getData();
return renderView(
view = "main/widget",
args = viewData,
cache = true,
cacheSuffix = ":" & moduleConfig.entryPoint,
cacheTimeout = 2
);
}
}
私は私のCachebox.cfcに次の情報を追加することにより、デフォルトのキャッシュ設定を設定しようと上記のコードからcacheTimeout
を削除:
cacheBox = {
defaultCache = {
objectDefaultTimeout = 1, //two hours default
objectDefaultLastAccessTimeout = 1, //30 minutes idle time
useLastAccessTimeouts = false,
reapFrequency = 5,
freeMemoryPercentageThreshold = 0,
evictionPolicy = "LRU",
evictCount = 1,
maxObjects = 300,
objectStore = "ConcurrentStore", //guaranteed objects
coldboxEnabled = false
},
caches = {
// Named cache for all coldbox event and view template caching
template = {
provider = "coldbox.system.cache.providers.CacheBoxColdBoxProvider",
properties = {
objectDefaultTimeout = 1,
objectDefaultLastAccessTimeout = 1,
useLastAccessTimeouts = false,
reapFrequency = 5,
freeMemoryPercentageThreshold = 0,
evictionPolicy = "LRU",
evictCount = 2,
maxObjects = 300,
objectStore = "ConcurrentSoftReferenceStore" //memory sensitive
}
}
}
};
もののいずれかを持っていませんでしたキャッシングへの影響また、上記の設定をColdbox.cfcに追加しようとしました。
私はcoldbox create app MyApp
経由CommandBoxを経由して、完全に新しいテストアプリケーションを作成する場合でも、その後、わずか1分にCachebox.cfcにキャッシュを設定し、Coldbox.cfcにviewCaching = true
を設定し、Main.cfcにevent.setView(view="main/index", cache=true)
を設定し、それはdoesnの期待どおりに動作しません。
私が何をしても、ビューは常に少なくとも5分間キャッシュされます。
紛失しているものがありますか?
ビューがキャッシュされている時間をどのように確認していますか? –
この質問はCFMLスラックチームにクロスポストされているので、私はあなたに返答しました(私は再現できません)。残念ながら、あなたの問題が何であるか把握したら、SOが本当に前後のQ&Aに適しているので、ここで答えを更新することができます。 –