如何使用非拼写方法调用非标准方法来获取Redis密钥?

问题描述 投票:0回答:1

我正在阅读spring文档,以创建Redis缓存的自定义键。

https://docs.spring.io/spring/docs/4.1.x/spring-framework-reference/html/cache.html

示例之一是

@Cacheable(value="books", key="T(someType).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)

现在,如果我想使用静态类的哈希方法生成密钥,这是有效的。但是如何使用非静态类的方法生成密钥呢?

class A{

@Cacheable(value="books", key="(A).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)


String hash(){

return ..some logic;

}

我尝试过这种方式..它没有用..

spring-data-jpa spring-el spring-data-redis
1个回答
0
投票

您需要知道bean名称

@Cacheable(value="books", key="@aBeanName.hash(#isbn)")
© www.soinside.com 2019 - 2024. All rights reserved.