9

Spring 3.1 の新しいキャッシュ抽象化について読んで、この機能を自分のプロジェクトに適用したいと思いました。

パラメータを持たないメソッドの呼び出しをキャッシュできますか?

@Cacheable("xCache")
public List<X> loadAllX() {
    ...
}

リンクされたブログ投稿の状態

メソッドパラメータをキーとして使用してキャッシュルックアップが実行されます

このメソッドをキャッシュすることはできないはずですよね?

簡単な答え:はい、引数のないメソッドは、他のメソッドと同じようにキャッシュされます。そのメソッドのキャッシュにはちょうど 1 つのエントリがあると思います。

4

1 に答える 1

10

ここで説明されているように、 「 Cache SpEL available metadata 」を使用して、この動作をオーバーライドできます。

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/cache.html#cache-spel-context

あなたの例では、次のように指定できます。

@Cacheable(value = "xCache", key = "#root.methodName") 
public List<X> loadAllX() { 
    ... 
} 

キー「loadAllX」を使用して「xCache」にXのリストをキャッシュします

于 2012-06-24T16:40:50.280 に答える