問題タブ [simple-spring-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.

0 投票する
2 に答える
1612 参照

spring - spring-simple-memcache - ReadThroughSingleCache の Maven 依存関係

春のシンプルなmemcachedを使用した人はいますか? 正確なmaven依存関係とこれが利用可能なリポジトリを取得できませんでした。code.google ページ (http://code.google.com/p/simple-spring-memcached/) に記載されている依存関係には、他の依存関係が記載されていますが、Simple-spring-memcache 自体の jar は含まれていません。

助けてくれてありがとう。

0 投票する
1 に答える
910 参照

spring-mvc - 単純なスプリング memcached を使用した名前空間の無効化

タイムスタンプに基づいて memcached 名前空間を無効にしようとした人はいますか? たとえば、API サービスをホストする tomcat サーバーのタイムスタンプである memcached 名前空間が必要です。名前空間が (定数ではなく) 変数になり、サーバー起動のタイムスタンプが保持されるように、メソッド呼び出しに注釈を付ける必要があります。

次に、サーバーが起動するたびに、このメソッドの名前空間をサーバーの起動時間に動的に設定する必要があります。

更新 - javaassist と動的注釈を使用してこれを行うための回り道があることは知っていますが、より良いアプローチが必要でした。

-ゴッツ

0 投票する
1 に答える
1349 参照

memcached - simple-spring-memcached で同じキー オブジェクトに異なるキャッシュ キーを指定する方法

で分散キャッシュを実装しようとしていspring-memcachedます。ドキュメントは、オブジェクトをキーとして使用するには、ドメインクラスに @CacheKeyMethod アノテーションを付けたメソッドが必要であることを示唆しています。

しかし、問題は、異なるシナリオで同じドメイン クラスを使用しており、それぞれのケースで生成されるキーのロジックが異なることです。Userクラスの例では、シナリオの 1 では、 cityandに関してキーが一意である必要がありますgenderが、他のケースでは、ユーザーの に関して一意である必要がありますemail。それは基本的に、ルックアップのベースです。

ユーザーの電子メールによって都市と性別が決まるため、最初のケースでも電子メールをキーとして使用できますが、これはユーザーごとに個別のキャッシュ エントリを意味し、キャッシュされたデータは性別と都市が同じである限り同じになります。 、これにより、ヒット率が大幅に増加すると予想されます(バンガロールの男性であると予想されるユーザーの数を考えてみてください)。

異なるキーを定義する方法はありますか。また、キーを生成するロジックをドメイン クラス自体から外部化できるとよいでしょう。

私はドキュメントを読んで、何かが呼び出されたCacheKeyBuilder、および/またはCacheKeyBuilderImplトリックを実行できることを理解しましたが、続行する方法がわかりませんでした。

編集.. わかりました..私は1つの手がかりを得ました! CacheKeyBuliderImpl が行うことは、提供されたドメイン クラスのメソッドで @cachekeyannotation を検索し、見つかったメソッドを実行してキーを取得する defaultKeyProvider インスタンスで generateKey メソッドを呼び出すことです。

したがって、CacheKeyBuilderImplをカスタム Implに置き換えるか、 KeyProviderCacheKeyBuilderImpl 内の のデフォルトの実装を自分のものに置き換えるとうまくいくかもしれませんが、キープロバイダーの参照は DefaultKeyProvider に組み込まれています。

誰でも私が CacheKeyBuilder を実装するのを手伝ってもらえますか(さまざまなメソッドが何をするかに関して;ドキュメントはそれを明確にしません)、また、通常の CacheKeyBuilderImpl の代わりに使用するためにそれを注入する方法を教えてください

0 投票する
1 に答える
2250 参照

caching - spring memcached アノテーションに関する singlecache、multicache、assigncache の違い

私は Simple Spring Memcached を理解しようとしていますが、以下に記載されていることに固執しています。

違いは何ですか:

  1. @ReadThroughSingleCache、@ReadThroughMultiCache、および @ReadThroughAssignCache
  2. @UpdateSingleCache、@UpdateMultiCache、および @UpdateAssignCache
  3. @InvalidateSingleCache、@InvalidateMultiCache、および @InvalidateAssignCache

また、更新はどのように機能しますか。特定のキーを使用して名前空間を更新すると、同じ名前空間内で同じキーを使用してすべての read*cache メソッドが実行されますか。はいの場合、複数のサーバー アプリケーションで機能します。

たとえば、特定のシナリオでは、ユーザーのポイント (何か) がキャッシュされます アプリケーション 1

別のアプリケーション (バックグラウンド スケジューラの可能性があります) からの別のシナリオでは、次のメソッドが呼び出されます: アプリケーション 2

私の質問は、namespace("userPoints") が最初に 50 ポイントとして userId("1234") のキャッシュ エントリを持っていて、更新メソッドが ("1234",100) で呼び出された場合、キャッシュはどのようにしてそのロジックを知るのでしょうか? 「1234」のエントリは、100 ポイントで更新する必要があります。

戻り値を使用して古い値で更新する必要があります(戻り値の型を変更する必要があります)。または、更新が「ライトスルー」の場合は、読み取りメソッドを db ルックアップの直接ロジックで呼び出してから更新する必要があります。キャッシュ...しかし、アプリケーション2はアプリケーション1に更新をどのように通知しますか。

0 投票する
1 に答える
1659 参照

spring - Couchbase で動作するように Simple Spring Memcached を構成する方法

Spring MVC アプリケーションを開発しており、Couchbase バックエンドでSimple Spring Memcached (SSM) を使用してキャッシングをセットアップしたいと考えています。

memcacheバケット「デフォルト」を使用して、ローカルで動作するcouchbaseインストールをセットアップしました。テスト プロジェクトで Couchbase Java API に接続して使用できます。

ただし、Spring MVC プロジェクト内で SSM アノテーションを使用すると、タイムアウト例外が発生します。問題は私の SSM 構成にあると確信しています。

「デフォルト」バケットや認証パラメータについて言及していないことに注意してください。この方法で特定のcouchbaseバケットと連携するようにSSMを構成する方法に関するドキュメントを見つけることができませんでした.

何か助けはありますか?

0 投票する
1 に答える
909 参照

java - simple-spring-memcache を使用してコレクションまたは配列パラメーターをキャッシュする方法

私のプロジェクトでは simple-spring-memcache を使用してサービス メソッドをキャッシュしていますが、次のように機能しません。

しかし、私はそれが機能するように書いています:

0 投票する
1 に答える
1332 参照

java - memchache が動作しない場合のコードの処理方法 (simple-spring-memcached)

「simple-spring-memcached」の「入門ガイド」のおかげで、ガイドの「Spring 3.1」の例を使用して、プロジェクトで memcached を動作させることができました。プロバイダーとして「spymemcached」を使用しています。memcached サーバーが稼働している場合、すべて正常に動作します。ただし、me​​mcache サーバーにアクセスできない場合 (テストのために意図的にシャットダウンした場合)、下線付きのコードは機能せず、アプリケーションは単にランタイム例外をスローして実行されず、memcache サーバーに接続できず、タイムアウトが発生したことを示します。

ただし、このシナリオで私が期待しているのは、実行パスを完全にブロックするよりも、キャッシュに到達できないため、毎回実行されるメソッドをターゲットにすることです。シンプルなスプリング memcache を使用してこれは可能ですか? 、これを経験した人はいますか?この状況を解決するにはどうすればよいですか。キャッシュ層の例外は実行を妨げる必要はありません。フォールバックとしてターゲット メソッドを呼び出すだけで済みます。これが私が達成しようとしていることです。

「fallbackToNoOpCache」を使用して春の「CompositeCacheManager」を試しましたが、simple-spring-memcached はこれに影響を与えないようです。

私の設定はすべて(Spring 3.1)とまったく同じです

https://code.google.com/p/simple-spring-memcached/wiki/Getting_Started

ご協力いただきありがとうございます

例:私の @Cacheable の使用法は

0 投票する
1 に答える
3171 参照

amazon-elasticache - AWS Auto Discovery で simple-spring-memcached を使用する方法

AWS Elasti Cache Auto Discovery 機能で simple-spring-memcached ライブラリ (SSM) を使用する方法を教えてください。spymemcached をクライアントとして使用しています。