Spring キャッシュの実装として redis を使用しています。そして、公式ドキュメントには、キャッシュマネージャーを次のように構成する必要があると書かれています。
<!-- Old version -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="redisTemplate">
また、jedis のバージョン = 2.0.0、spring-data-redis のバージョン = 1.0.2.RELEASE の場合に正常に動作します。
しかし、より最近のバージョン (例: jedis = 2.5.2 および spring-data-redis = 1.3.4.RELEASE) では、上記の構成は機能しません。代わりに、「loadCaches は空のコレクションを返してはならない」という例外をスローします。それから私はそれを参照して再度ググったところ、構成ファイルは次のようになりました。
<!-- New Version -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="redisTemplate">
<property name="cacheNames">
<map>
<bean id="someid" class="someclass" p:name="somename"/>
</map>
</property>
</bean>
今では、空のコレクションについては文句を言いませんが、初期化については別のことです。
したがって、ここに別の 2 つの質問があります。
- cacheNames プロパティ内で、他のユーザーが "list"、"set"、および "map" を使用していることがわかります。違いは何ですか?
- 内部でBeanを構成する方法は?
私はこの Bean のセットアップに数日間苦労しています。前もって感謝します