問題タブ [spymemcached]
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.
java - get から返されたオブジェクトを memcached でハッシュ解除する方法
set を実行した後、memcached からオブジェクトを取得しようとすると、ハッシュ値が返されますが、set 関数呼び出しで設定されたオブジェクト内の値が必要です...
それを解決する方法を知っている人はいますか??
- オブジェクトは、2 つの文字列属性を持つクラスのインスタンスです。
java - クライアントは複数のmemcacheサーバーについて心配する必要がありますか?
質問:-Javaクライアントは複数のサーバーについて心配する必要がありますか?
意味:-memcachedクライアントに2つのサーバーを指定しましたが、キャッシュからキーを設定または取得するときに、サーバー関連の情報を提供する必要がありますか、それともmemcache自体がそれを処理しますか?
私の知識:-コンシステントハッシュ法により、Memcache自体が処理します。
しかし、spymemcached 2.8.0はコンシステントハッシュを提供しますか?
java - memcache で明示的に接続を閉じる方法
新しい接続を開始するために memcached 接続を閉じようとしています。しかし、memcached で適切なメソッドを見つけることができません。失敗したサーバーへの再接続を継続しようとするため、以前の接続を閉じています。
Windows 用に spymemcached 2.8.0 と memcached 1.4.4 を使用しています。
java - Memcached + Spring キャッシング
Memcached を使用して Spring 3.1 キャッシング ソリューションをセットアップしようとしています。ehcache (Spring にはこれに対するサポートが組み込まれています) をうまく組み込みました。しかし、memcached の問題で立ち往生しています。前もって長文をお詫びします (ほとんど定型コードです)...
私は Java 構成を使用しているため、コントローラー構成に注釈を付けて、以下のようにキャッシュを有効にしました。
これにより、Stock 要素に対する基本的な CRUD アクションを可能にする 3 つのコントローラーがセットアップされます。ビジネス オブジェクトは次のようになります。
}
MyBatis を使用しているので、Stock オブジェクトの Mapper を作成します。次に、マッパーが DAO に挿入され、DAO がサービスに挿入されます。作業キャッシュ (両方の実装で) は、「サービス」レイヤーで発生します。以下は、挿入された DAO を利用するサービス層です。
これは、すべての株式を表示した結果をキャッシュすることになっているサンプル コントローラーです (このキャッシュは、DB から株式が追加、更新、または削除されると完全に削除されます)。
ここに私の小さな CacheManager があります:
MemCache クラスは次のようになります。
CouchBase と通常の memcached の両方でこれを試しました。以下のセットアップは、memcached が単独でのみ起動していることを示しています。
上記の例では、単純に memcached を使用します。アプリケーションを最初に起動してリスティング コントローラーを実行したときに表示されるログは次のとおりです。
これはすべて正しいように見えます。キャッシュには何もないはずです。次に、ストックをキャッシュに追加します。
最後の行を除いて、すべてが正しいように見えます。memcached --vv からの出力は次のとおりです。
ここで厄介なのは、システムに株を追加すると、displayAllStocks メソッドにリダイレクトされることです。これは最初は正しく行われますが、ページを更新すると、元のバージョン (在庫が表示されていないバージョン) が送信されます。私はここでかなり立ち往生しており、現時点でこの問題の原因が何であるかはわかりません. 何らかの方法でキャッシュを無効にすると、リダイレクトは正しく機能します。最初に入力された値(削除された)と思われるものを取得するのは、その後の更新です。
これは構成の問題ですか? memcache または spymemcached の制限/バグ、または単に MemCache コードのバグですか?
hibernate - hibernate-memcached でクライアントを作成する方法
hibernate.cfg.xml ですべての memcached プロパティを定義した後、コードで memcachedclient を作成するにはどうすればよいですか?
Hibernate.cfg.xml:-
のようにちょうど同じように
そうでない場合、hibernate.cfg.xml で定義されたプロパティを使用する必要がある場合は、どうすればよいですか??
java - memcached とパフォーマンス
私は非常に基本的な質問をしているかもしれませんが、グーグルで明確な答えを見つけることができなかったので、ここに入れます。
Memcached は、別のプロセスに情報をキャッシュします。したがって、キャッシュされた情報を取得するには、プロセス間通信 (通常は Java でのシリアル化) が必要です。つまり、通常、キャッシュされたオブジェクトを取得するには、シリアル化されたオブジェクトを取得して、通常はネットワークに転送する必要があります。
シリアル化とネットワーク通信はどちらもコストのかかる操作です。memcached がこれらの両方を使用する必要がある場合 (一般的に言えば、ネットワーク通信が必要ない場合があるかもしれません)、Memcached はどのように高速なのでしょうか? レプリケーションはより良い解決策ではありませんか?
それとも、これはディストリビューション/プラットフォームの独立性/スケーラビリティとパフォーマンスのトレードオフですか?
java - キャッシュされる値のサイズが小さいと Memcached のパフォーマンスが低下する
memcached を使い始めたばかりです。Pajamas Proxy サーバー経由で spymemcached Java クライアントを使用します (すべてデフォルト設定で 1024 MB のメモリが割り当てられています)。memcached にアクセスするようにプログラムを設定するのは非常に単純明快ですが、次の点に注意してください。
キャッシュされた値のサイズが特定のポイント (私の場合: 約 1450 バイト) まで低下すると、パフォーマンスが劇的に低下します (取得ごとに 4 ミリ秒から 200 ミリ秒まで)。
これは、キャッシュしたい値が特定のサイズよりも大きくなければならないということですか? そのようなサイズをどのように決定できますか?前もって感謝します!
デビッド
java - memcached (spymemcached) カウンターと有効期限
memcached カウンターがどのように機能するかを誰か教えてくれますか (または文書化されたドキュメントを参照してください)。具体的には、どのように有効期限が切れますか? Java spymemcached クライアントを使用しています。
方法
「このオブジェクトの有効期限」として記述されたパラメータ「exp」を取ります
それは、カウンターへの個々の呼び出しごとに独自の有効期限があるということですか? または、 incr を呼び出すと、キーの有効期限が長くなりますか?
また、カウンター値を取得するメソッドがあればいいのではないでしょうか? または、インクリメント 0 で incr を呼び出す必要がありますか?
memcached - java.lang.Thread.State: 待機中
多くのタイムアウトまたは接続待ちのようです。誰でもそれを修正するのに役立ちますか?
java - spymemcached での java.lang.ClassNotFoundException
Web サービスからキャッシュ上の値にアクセスしようとすると、このエラーが発生しますが、テスト クラスでメソッドを直接呼び出すと、問題なく動作します。
誰かがこのエラーを受け取りましたか?
ペーストビン: http://pastebin.com/8z7bsDcc
ありがとう。