MySQLデータストアを想定すると、いつRuby on Railsアプリケーションでmemcachedを使用したくないですか?いつRuby on Railsアプリケーションでmemcachedを使いたくないですか?
答えて
Memcacheは強力な分散キャッシュですが、一部のコンテンツではローカルキャッシュより高速です。キャッシングは、通常はデータベース要求とネットワーク要求であるボトルネックを回避する必要があります。フルページを頻繁に変更しない(非常に動的ではない)ため、HTMLとしてローカルにキャッシュすることができれば、Webサーバーはmemcacheを照会するよりもずっと速くこの機能を提供できます。これは、memcachedサーバーのようにmemcacheサーバーが別々のマシンにある場合に特に当てはまります。
私は、いつか私はそれを自分のサーバーに移動する必要があることを知っているので、私はときどき他のキャッシュオプションの代わりにローカルmemcacheを使用することです。
これはmemcachedの主な利点を完全に無視しています。つまり、* distributed *キャッシュです。 – DanSingerman
アプリケーションがすべてのリクエストをすばやく処理できる場合は、memcachedを使用しないでください。 memcachedを追加することは、あなたのアプリをコーディングする際に余分な精神的なオーバーヘッドなので、必要がなければやらないでください。
スケーリングの "one swell problem to have"です。
+1。 w/memcachedをオフにして新しいアプリを起動するのは時期尚早の最適化です。最初から不必要な複雑さを加えないでください! –
@Matt - 時には、あなたのアプリの拡張が必要な量を知っているだけで、キャッシュが必要になることがあります。最初からmemcached(または任意の分散キャッシュ)を追加することは、*常に*早すぎる最適化ではありません。 – DanSingerman
@Douglas F Shearer - memcachedはRails 2.3に焼き込まれているので、精神的なオーバーヘッドはないと思います。 config.cache_store =:mem_cache_store – DanSingerman
期限切れのものについて細かい制御をしたいとき。私のテストから、memcachedは約1秒のタイミング分解能しか持たないようです。
EG:1秒以内に何かを期限切れにすると、1秒間と2秒間を超えて滞在する可能性があります。
memcachedの主な利点は、キャッシュです。これは、一度生成して、多くのサーバーでキャッシュから提供できることを意味します(これがmemcachedが作成された理由です)。以前のすべての答えはこれを無視しているようだ - それは彼らがこれまで高度にスケーラブルなアプリケーションを構築するために持っていたなら、私は思ってしまう(memcachedを正確に何であるためである)
Danga対話が のスピードを高めるために、memcachedの を開発しましたLiveJournal.comは のサイトで既に2,000万人以上の動的ページを作成しており、 ウェブサーバーの束と データベースサーバーの束で1万人のユーザーに対して1日あたりビューを表示しています。 memcachedは データベースの負荷がほとんどなくなり、 ユーザーのページ読み込み時間が速くなり、リソースの利用率が向上し、 となり、データベースへのアクセスが速くなりました。 memcache miss。
(私の太字)が
だから、答えは:アプリケーションがしか、単一のサーバーに展開される可能性がある場合。
スケーラビリティと冗長性のために複数のサーバを使用する可能性が高い場合は、memcachedは常に(ほぼ)常に良いアイデアです。
memcachedの分散された側面は、RailscastとScaling Railsシリーズには載っていません。あなたの説明をありがとう。非常に便利です –
- 1. ruby on railsフラッシュメッセージ - :alert:error:noticeと:success?私のコントローラーのいくつかで
- 2. Ruby on railsアセットのスタイルシートを認識できないアプリケーション
- 3. Ruby on Railsアプリケーション
- 4. Ruby on rails - Rubyonrailsアプリケーションで
- 5. Ruby on Rails 4でダイジェストのないフォントアセット
- 6. JRuby on RailsとRuby on Railsの違いは何ですか?
- 7. シンプルなRuby on Railsアプリケーション
- 8. Ruby on Railsアソシエーションを使用するか使用しないか
- 9. Ruby on Rails 3のRuby on Rails Ajaxスキャフォールドジェネレータはなんですか?
- 10. adminテンプレートをRuby on Rails Webアプリケーションで使用できますか?
- 11. Ruby on RailsでAmazon S3を設定する際のいくつかの質問
- 12. ruby on rails:ファイルアップロードとショーファイルについて
- 13. Ruby on RailsでSilverlightを使用していますか?
- 14. 私はRuby on Railsアプリケーションに取り組んでいます
- 15. Ruby on Railsアプリケーションから正しいHTTPエラーコードを返す方法
- 16. はRuby on Railsに関するいくつかの簡単な質問
- 17. Ruby on Rails:ユーザーをフォローしない
- 18. RubyとRuby on Railsの違いは何ですか?
- 19. RubyとRuby on Railsの違いは何ですか?
- 20. Ruby on Rails 3.2.13 - Brakeman - バージョン管理にセッションシークレットを含めないでください
- 21. Ruby on RailsアプリケーションでES6(ES2015)を使用するにはどうすればいいですか?
- 22. Ruby on Rails Associationの使い方は?
- 23. Ruby on Rails 3.2.1良いギャラリー
- 24. BrewがAngular on Railsアプリケーションでパッケージを見つけられない
- 25. Ruby on Rails 3.2でコンパイルされたアセットが機能しない
- 26. Ruby on Railsアプリケーションをテストするにはどうすればよいですか?
- 27. Ruby on Railsアプリケーションでテーブルを3つのテーブルに分割する
- 28. Ruby on Railsチュートリアルテストが合格しない
- 29. Ruby on Railsアプリケーションに最適なWebサーバーは何ですか?
- 30. ruby on railsアプリケーションでbindataが必要
「いつですか?」とはどういう意味ですか? Memcacheに保存するデータは何ですか? – unexist
Scaling Railsスクリーンキャストシリーズは優れたシリーズで、使用するキャッシュとその時期を判断するのに役立ちます。 – nitecoder