Memcachedは初めてです。 SpringBootアプリケーションをMemcachedで構成する必要があります。
私はこのトピックについて多くのことを調査しましたが、同じドキュメントを見つけることができませんでした。デフォルトでは、SpringブートはキャッシュにConcurrent HashMapを使用しますが、Memcachedを構成するにはどうすればよいですか。
このGitHubURLを取得しましたが、これが正しい方法であるかどうかはわかりません。正しい方法である場合は、どのように使用すればよいですか。
https://github.com/sixhours-team/memcached-spring-boot
更新
私は今これを私のプロジェクトで使用しています https://github.com/bmatthews68/memcached-spring-boot-starter 。
このような
@Override @Cacheable(value = "defaultCache")
public String customMethof() throws InterruptedException {
return "Testing";
}
しかし、get defaultCacheのtelnetを実行すると、何も取得されません。助けてください
これをGradleの依存関係に追加します
compile group: 'net.spy', name: 'spymemcached', version: '2.12.3'
compile('com.btmatthews.springboot:memcached-spring-boot-starter:1.0.0')
メインのSpringブートアプリケーションの上に@SpringBootApplication
thisアノテーションはこれを置きます
@EnableMemcached
次に、コンポーネントで次を使用します
@Autowired
private MemcachedClient memcachedClient;
memcachedClient.get("...")
私は https://github.com/sixhours-team/memcached-spring-boot の作成者の1人です。ライブラリは、SpringBootアプリケーション内でMemcachedを自動構成します。 Spring Cacheの場合と同じように有効にできます。つまり、構成クラスに@EnableCaching
アノテーションを追加するだけで十分です。
@Configuration
@EnableCaching
public class CacheConfiguration {
}
application.yml
の構成は、次のように単純にすることができます。
memcached.cache:
servers: example1.com:11211
mode: static
expiration: 86400
現時点では、ライブラリはまだリリースされていません(最初のリリースは約1週間以内になるはずです)。詳細情報を見つけることができます ここ またはデモSpring Bootアプリをチェックしてください ここ 。
もう1つ、キャッシュエビクションをサポートするために、ライブラリのプレフィックスはmemcached:spring-boot:defaultCache:[radnom_number]
であるため、この場合のキーは次のようになります。例えば.
memcached:spring-boot:books:defaultCache:283:SimpleKey[]
ここで、283は、キャッシュキーに割り当てられた乱数です(適切なキャッシュの削除に必要です)。
あなたが示した最初のGitHubプロジェクトは良い解決策です。また、Memcachedの著名なクライアントライブラリの1つであるspymemcachedのフォークでもあります。
以下の公式ドキュメントを参照してください。 http://cloud.spring.io/spring-cloud-aws/spring-cloud-aws.html#_caching
以下のものを確認して、GettingStartedページに移動することもできます。