問題タブ [spring-cache]
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 - memchache が動作しない場合のコードの処理方法 (simple-spring-memcached)
「simple-spring-memcached」の「入門ガイド」のおかげで、ガイドの「Spring 3.1」の例を使用して、プロジェクトで memcached を動作させることができました。プロバイダーとして「spymemcached」を使用しています。memcached サーバーが稼働している場合、すべて正常に動作します。ただし、memcache サーバーにアクセスできない場合 (テストのために意図的にシャットダウンした場合)、下線付きのコードは機能せず、アプリケーションは単にランタイム例外をスローして実行されず、memcache サーバーに接続できず、タイムアウトが発生したことを示します。
ただし、このシナリオで私が期待しているのは、実行パスを完全にブロックするよりも、キャッシュに到達できないため、毎回実行されるメソッドをターゲットにすることです。シンプルなスプリング memcache を使用してこれは可能ですか? 、これを経験した人はいますか?この状況を解決するにはどうすればよいですか。キャッシュ層の例外は実行を妨げる必要はありません。フォールバックとしてターゲット メソッドを呼び出すだけで済みます。これが私が達成しようとしていることです。
「fallbackToNoOpCache」を使用して春の「CompositeCacheManager」を試しましたが、simple-spring-memcached はこれに影響を与えないようです。
私の設定はすべて(Spring 3.1)とまったく同じです
https://code.google.com/p/simple-spring-memcached/wiki/Getting_Started
ご協力いただきありがとうございます
例:私の @Cacheable の使用法は
spring - @Cacheable : 自分の KeyGenerator で使用できる新しい属性を渡す方法は?
あなたの専門知識が必要です:)
サービスのメソッド呼び出しを認証する必要があるアプリケーションに取り組んでいます。つまり、ユーザー名を含むキーを使用して各メソッド呼び出しをキャッシュする必要があります (権限のないユーザーが、権限のあるユーザーによってキャッシュされた情報を取得できないようにするため)。
パーソナライズされた KeyGenerator を使用すると、すべて正常に機能します。
私のキーの例: username:USERNAME.appVersion:VERSION.METHOD.PARAM1.etc
しかし、ある場所で、国別コンテンツを取得するメソッドを取得しました。これは各ユーザーで同じです。そして、このコンテンツを要求する各ユーザーのキャッシュ キーを回避したいと考えています。
例: appVersion:VERSION.METHOD.PARAM1.etc
@Cacheable アノテーションを配置するときに、新しいパラメーターを設定する方法はありますか? キー ジェネレーターはそれをキャッチし、キャッシュ キー名の前にユーザー情報を付ける必要があるかどうかを知ることができます。
ご協力いただきありがとうございます :)
気をつけて
amazon-elasticache - AWS Auto Discovery で simple-spring-memcached を使用する方法
AWS Elasti Cache Auto Discovery 機能で simple-spring-memcached ライブラリ (SSM) を使用する方法を教えてください。spymemcached をクライアントとして使用しています。
java - Spring キャッシュが EHCache+JCache で機能しない
春に動作するように jcache の ehcache 実装を統合しようとしています。したがって、次のように定義されたファサードがあります。
そして、次のような Java ベースの構成:
そして、ファサードを 10 回呼び出すテスト:
しかし、結果はメソッドを 10 回通過しています。
ここでそれを再現するためのサンプル プロジェクトを見つけることができます: https://github.com/paranoiabla/spring-cache-test
spring - Spring Caching を使用して複数の Web アプリケーション用にシングルトン CacheManager を構成する
複数の Web アプリケーションを Tomcat にデプロイし、サービス jar を TOMCAT_HOME/lib/ext で共有しています。すべてのアプリケーションは Spring を使用しており、サービス jar には、Spring 3.1 キャッシング アノテーション で注釈が付けられた Bean があります。Ehcache プロバイダーを使用しています。そして、すべての Web アプリケーションで単一の CacheManager を使用したいと考えています。Web アプリケーション レベルでスプリング キャッシュ構成を定義すると、キャッシュは機能しますが、アプリ/コンテキストごとに個別の cacheManager が作成されます。これらのアプリケーションの 1 つがアンデプロイされると、この共有キャッシュ マネージャーがシャットダウンされるため、「共有」キャッシュ マネージャーが問題を引き起こしています。したがって、サービス jar で構成され、Web アプリの Bean から行われるメソッドへのすべての呼び出しに使用される単一の CacheManager が必要です。私の現在の試みは、service.jar の applicationContext.xml で次の構成を定義することです。
beanRefContext.xml を介して親アプリケーション コンテキストを定義しました。
そして、このコンテキストをすべての Web アプリの親コンテキストとして使用し、Web アプリの web.xml で次の contextParam を使用しています。
その結果、このparentContextはロードされますが、キャッシュはまったく機能しません。これを解決するにはどうすればよいですか? service.jar での parentContext の定義は正しいですか?