2016-11-02 8 views
-2

スプリングで使用するキャッシュライブラリについて知りたいです。私は複数のサーバーを持っているので、キャッシュを集中管理したいと思っています。これはguava(インメモリキャッシュ)も除外しています。 Redis/JedisとCouchbaseは2つのオプションですが、Javaのサポートが欠けています。彼らはすべてのJavaオブジェクト/ Beanをシリアライズ可能にする必要があります。 Guavaはjavaをサポートしていますが、処理中です。 Redissonは良いようですが、Jedisと比較してサポートとメンテナンスが不足していると読んでいます。キャッシュとスプリング

コードの変更を大幅に防ぎ、BeanにSerializabeを実装させたくない場合、オブジェクトをJsonまたはStringsに変換しないようにします。

+0

https://spring.io/guides/gs/caching-gemfire/ –

+0

jedisクラスタが下にまだあります開発 – rohanagarwal

+0

ソフトウェア勧告の依頼は、話題にならない人々です。 –

答えて

1

あなたの要件はお互いに反しています。 あなたはどのような種類の

  1. ノーシリアライズのいずれかを選択する必要があります。しかし、それは単一JVMのキャッシュのためだけに機能します。
  2. 分散キャッシュ。アプリケーションJVMの外部に格納されたデータ。多くのノードに可能です。しかし、それはのシリアル化何らかの種類が必要です。 javaシリアル化、JSON、Arvo、Kryo、Parquet、protocollBuffers ..ネットワーク経由でシリアル化された形式でデータが転送されます。

あなたが選択した内容に関係なく、http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.htmlがお手伝いします。それは

  • JDKのConcurrentMapベースのキャッシュ
  • Ehcacheのベースのキャッシュ
  • カフェインのキャッシュ
  • グアバキャッシュ
  • GemFireのベースのキャッシュ
  • JSR-107キャッシュ
をサポートしています

あなたはそれをなぜ信じるのですかRedis/Jedis and Couchbase are lacking support for java? 彼らは非常に良いサポートを持っていますが、あなたのオブジェクトをシリアル化する必要があります。

Redisのために、それはhttp://docs.spring.io/spring-data/redis/docs/1.7.4.RELEASE/reference/html/#redis:support:cache-abstraction

同様のプロジェクトでキャッシュ抽象化としてサポートされてCouchbaseのhttps://github.com/couchbaselabs/couchbase-spring-cacheのために存在する

+0

はい、私はそれを逃した。ネットワークを介して送信する必要があるものは、シリアル化する必要があります。 – rohanagarwal

関連する問題