Expressで簡単にページをキャッシュできますか?できればMemcachedですか?私はJadeをテンプレートシステムとして使用しています。私は訪問者のために特定のページを約30秒間キャッシュしたいと思っています。好ましくはexpress.render
を使用していますが、私は提案することができます。ありがとう!Node.jsページキャッシュ
3
A
答えて
8
レンダリングの結果を処理する必要があります。
var cache = {};
var getPageFromCache(url, callback) {
if (cache[url]) {
// Get page from cache
callback(undefined, cache[url]);
} else {
// Get nothing
callback();
}
};
var setPageToCache(url, content) {
// Save to cache
cache[url] = content;
};
app.get('/', function(req, res){
getPageFromCache(req.url, function(err, content) {
if (err) return req.next(err);
if (content) {
res.send(content);
} else {
res.render('index.jade', { title: 'My Site' }, function(err, content) {
// Render handler
if (err) return req.next(err);
setPageToCache(req.url, page);
res.send(content);
});
}
});
});
あなたが必要な場合はmemcachedので動作するようにgetPageFromCacheとsetPageToCacheを実装します。
4
私は単純なパッケージを使用しています:cacher、それはmemcachedに裏打ちされた高速のミドルウェア処理ページキャッシュです。
使用例:
var Cacher = require("cacher")
var cacher = new Cacher("myhost:11211")
// as a global middleware
app.use(cacher.cacheHourly())
// or per route
app.get("/long-cache", cacher.cacheDaily(), ...)
app.get("/short-cache", cacher.cacheOneMinute(), ...)
app.get("/no-cache", ...)
// listen for events
cacher.on("hit", function(url) {
console.log("woohoo!", url)
})
cacher.on("miss", function(url) {
console.log("doh!", url)
})
cacher.on("error", function(err) {
console.log(err)
})
も参照してくださいproject on GitHub
関連する問題
- 1. レール5ページキャッシュ
- 2. RailsページキャッシュとRedis?
- 3. Memcachedでのページキャッシュ
- 4. Neo4jヒープとページキャッシュの設定
- 5. Symfony固有のページキャッシュ設定
- 6. Drupalの外部ページキャッシュとは
- 7. オープンリソースの制限とページキャッシュ
- 8. コアデータ過大なVM:SQLiteページキャッシュ
- 9. mmapはページキャッシュまたはページキャッシュのコピーに直接アクセスしますか?
- 10. CodeIgniterでページキャッシュがクリアされる方法
- 11. TYPO3ページキャッシュが間違っています
- 12. Railsプロダクションサーバでページキャッシュを消去する
- 13. Google App Engineでのページキャッシュの防止
- 14. プログラムでLinuxでページキャッシュを消去する方法
- 15. Rails 3.2でのキャッシュミスや開発中のページキャッシュ - 他に誰か?
- 16. Codeigniterが管理パネルのブラウザのページキャッシュを無効にする
- 17. Codeigniterのページキャッシュは入力を考慮していませんか?
- 18. ページキャッシュを失うことなく、neo4jを3.0にアップグレード
- 19. Linuxでページキャッシュを操作する方法は?
- 20. ページキャッシュを有効にするためのフラッシュ[:notice]の無効化
- 21. ページキャッシュを使用してモデルを更新できません
- 22. Linuxカーネルでページキャッシュを無効にするには?
- 23. Javaを使用してページキャッシュを削除する方法
- 24. 並行処理を処理するPHPのページキャッシュ?
- 25. Android Webkitブラウザでページキャッシュが機能しないようにする
- 26. Djangoページキャッシュがヘッダーとフッターをキャッシュしています
- 27. CodeIgniterの - 私はデフォルトのCodeIgniterのページキャッシュなど使用していますサブドメイン
- 28. xhtmlファイルの変更時にJBossがjsfページキャッシュを無効にしない
- 29. "ページが生成されています。"ページキャッシュをクリアした後のメッセージTYPO3 7.6
- 30. 別のView Controllerからページキャッシュが期限切れになっていますか?
res.renderコールバックがあったことを認識していなかったが(!もちろんあります)ありがとう! –