私は書店を書いています。電子書籍のList<Ebook>
と通常の書籍のリストList<Book>
をキャッシュしたいので、ページが更新されるたびにデータベースを呼び出す必要はありません。Spring SimpleCacheManagerを使用して複数のリストをキャッシュする方法は?
今私はSimpleCacheManager
を使用していますし、私は2つのdifferntのキャッシュ定義:showBookList(...)
またはshowEbookList(...)
が初めて呼び出された場合List<...>
は、サービスによってキャッシュされ、ページがリロードされる場合
<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean
class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
p:name="bookList" />
<bean
class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
p:name="ebookList" />
</set>
</property>
</bean>
を書籍/電子書籍がキャッシュからロードされる。私が電子書籍を追加または削除すると、サービスはキャッシュを更新します。これはこれを行う正しい方法ですか、それとも簡単な方法ですか?
ほとんどの場合、1つのキャッシュで十分ですが、Springフレームワークはパラメータとして渡す複数のキャッシュもサポートしています。
自分のコードがよく書かれているか、あまりにも複雑すぎるかどうかは尋ねられます。私はWebsphere Portal 8.5.5でSpring 4.3.2を使用しています。私はJSR286ポートレットを構築しています。