問題タブ [memcached]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Django キャッシュのパフォーマンスを測定するには?
私はかなり小さい (1 日に約 4.5k ページビュー) Web サイトを Django で実行しており、PostgreSQL 8.3 をデータベースとして使用しています。
データベースをキャッシュとセッション バックエンドの両方として使用しています。この目的で Memcached を使用することについて多くの良いことを聞いたので、ぜひ試してみたいと思います。ただし、そのような変更の利点を正確に知りたいです。私のサイトは、より優れたキャッシュ バックエンドが違いを生むには十分な大きさではないのではないかと思います。要点は、memcached をインストールして構成するのは私ではないということです。また、誰かの時間を無駄にしたり、ほとんど無駄にしたりしたくありません。
データベースをキャッシュ バックエンドとして使用することによって生じるオーバーヘッドを測定するにはどうすればよいですか? 私はdjango-debug-toolbarを見てきましたが、私が正しく理解していれば、それは本番サイトに置きたいものではありません(動作するように設定する必要がありますDEBUG=True
)。残念ながら、私のラップトップでは本番環境の設定を完全に再現することはできません (私は異なる OS、CPU、およびより多くの RAM を使用しています)。
誰かが別の Django キャッシュ/セッション バックエンドをベンチマークしましたか? たとえば、リクエストごとに1つのセッション書き込みを行った場合、パフォーマンスの違いはどうなるか知っていますか?
memcached - Apache iBatis に memcached を注入することは可能ですか?
SQLクエリのキャッシュを必要とする分散アプリケーションを使用して複雑なプロジェクトに取り組んでいます.iBatisフレームワークを使用しているので、キャッシュエンジンとしてmemcachedを使用したいと思います-sysadminが必要です. 出来ますか?はいの場合、誰かが既存のソリューション/実装を知っていますか? OSCACHE がクラスターでも動作することは既に知っていますが、新しいアーキテクチャに切り替える前に、既存のアーキテクチャを使用できるかどうかを知りたいです。よろしくお願いします!!!
ruby-on-rails - 単一のモデルにのみキャッシュマネーを使用しますか?
キャッシュマネーを使用したいのですが、すべてを自動的にキャッシュすることはしたくありません (大規模な実稼働アプリ、テラバイト単位のデータなどを扱っています)。指定したモデルのみに使用するにはどうすればよいですか? 今私は持っています:
そして、キャッシュマネーでキャッシュしたいモデルで:
しかし、これはうまくいきません。is_cached を呼び出すと、次のエラーが発生します: NoMethodError: undefined method `create' for Config:Module
何か案は?それができない場合、キャッシュマネーについて助けを求めることができる場所はありますか? メーリングリストも何も見つかりませんでした。
ruby-on-rails - Rails用のキャッシュされたメモ化プラグインはありますか?
私は次のようなモデルを持っています:
balance メソッドを memoize して memcached に保存したい。もちろん、問題は、支払いまたは購入が作成されるたびに、キャッシュされた値が期限切れになる必要があることです。支払いと購入の after_save コールバックにコードを挿入して、キャッシュされたアカウントの残高を期限切れにすることもできますが、次のように言えば理解しやすく維持しやすいと思います。
これを行う既存の宝石/プラグインはありますか? そして、私が出かけて自分自身を書く前に、それは良い考えですか? 私が見るマイナス面は、 Purchase のdollar_mount メソッドを変更している人にとって、キャッシュの問題を考慮する必要があることがわかりにくくなる可能性があることです (SubPurchase などの別のモデルへの依存関係を無意識のうちに導入した場合、それはしかし、これはとにかく明白ではないので、きちんとした宣言構文を持つことには価値があると思います - 少なくともそれが壊れたとき、それを修正する方法は明らかです
考え?
編集:セマンティックアートの答えに応えて、「関連するコールバックに有効期限を入れるだけ」というアプローチで私の問題についてより明確にします-問題は、コードベース全体に有効期限が切れることです-それは after_save コールバックで始まります私が提案している構文では、開発者はこれらすべてのケースを 1 か所のきちんとしたリストに保持する必要があります。そうすれば、「ユーザーの残高が同期していないことがあり、問題を再現する方法がよくわからない」などのバグ レポートを受け取ったときに、何が起こっているのかを簡単に把握できます。
ruby-on-rails - Railsでmemcachedを使用するためのベストプラクティス?
アプリでのデータベース トランザクションに時間がかかるようになっているため、memcached を使用して MySQL に渡されるクエリの量を減らし始めました。
全体として、うまく機能し、多くの時間を節約できます。
しかし、キャッシングはアプリをさらに活用するための回避策として「静かに現れた」ため、多くのモデルには次のようなコードが含まれるようになりました。
アプリケーション全体のいくつかのクラスでキャッシュのフィルとフラッシュが発生するため、これはますます苦痛になっています。
さて、memcached ロジックを抽象化して、必要なすべてのモデルでより強力で使いやすくするためのより良い方法があるかどうか疑問に思っていました。
必要なすべてのモジュールに含まれるある種の memcached-module を持つことを考えていました。
しかし、いじる前に、まず専門家に聞いてみましょう :-)
ありがとう
マット
php - PHP Memcache ユーザー作成オブジェクト
Memcache に関するヘルプが必要です。
クラスを作成し、そのオブジェクトを Memcache に保存したいのですが、うまくいかないので、どこが間違っているのか教えてください。以下は私のコードです
問題は、$objMemcache->get($key) を使用してオブジェクトを取得しようとしたときに、オブジェクトが実際に Memache coz に格納されているかどうかを確認できないことです。var_dump 関数は何も出力しません。
助けてください。
私のコードのエラーを説明してください。
ソウルマージ、フランク、ケビンに感謝します。解決策はうまくいきました。
クラス変数を非公開にすることはうまくいきましたが、json_encode() を使用してクラス オブジェクトを JSON_STRING に変換しようとすると、再び空の値が返されます。
mysql - 本番環境でのランダムに長い DB クエリ/Memcache フェッチ
ubuntu scalr/ec2 本番環境で発生している問題を診断するのに苦労しています。
問題は明らかにランダムで、データベース クエリや memcache クエリに必要以上に長い時間がかかります。単純な select ステートメントで 130 ミリ秒、Memcache フェッチで 65 ミリ秒かかることがわかりました。リクエストごとに数回発生する可能性があり、一部のリクエストは本来の 2 倍の時間がかかります。
問題を診断するために、MySql サーバーに接続してクエリを実行するだけの非常に単純なスクリプトを作成しました。
このスクリプトは一貫して非常に高い最大時間を返したので、問題の原因である Rails を排除しました。Ruby をなくすために、Python でも同じことを書きました。実際、Python の場合も非常に時間がかかりました。
MySql も Memcache もそれぞれ別のボックスにあるので、ネットワーク レイテンシーを考慮しましたが、ping
s とtraceroute
ing の監視は正常に見えます。
また、それぞれのマシンでクエリ/フェッチを実行すると、予想される時間が返されます。ステージング マシンで同じバージョンの gem を実行しても、この問題は発生しません。
私は本当にこれに困惑しています...これを診断しようとすることができる何かについての考えはありますか? ありがとう
macos - ストック apache と php5 を使用して Mac OSX で memcache を有効にする
Mac OSXでmemcacheを有効にしてApacheで動作させる方法を一生理解できません。memcache をインストールしましたが、php コマンド ラインで機能していることを確認できます。
次のコマンド:
memcache がサポートされていることを報告します。
ただし、phpinfo() を実行するローカル テスト スクリプトをブラウザにロードすると、memcahe がインストールされていることが報告されません。新しい memcache オブジェクトをインスタンス化するスクリプトをブラウザで実行すると、次のように報告されます。
私はphp.iniを編集し、extensions=memcache.soを追加しました
システム環境設定->共有に移動し、Web共有を無効にしてから有効にして、Apacheを再起動しました。コマンドラインからsudo apachectl restartを使用してApacheを再起動しようとしました。
ブラウザから実行したときにphpがmemcacheを認識できない原因は何ですか?
ありがとう!