0

我的项目使用了一个simple-spring-memcache来缓存一个服务方法,但是它不起作用,如下:

@ReadThroughSingleCache(namespace = "AdvServiceImpl.findByIdList", expiration = 60)
public List<Adv> findByIdList(@ParameterValueKeyProvider(order = 0) List<String> idList, @ParameterValueKeyProvider(order = 1) String deviceType, @ParameterValueKeyProvider(order = 2) String sourceId) throws Exception {

但我写它可以工作:

@ReadThroughSingleCache(namespace = "AdvServiceImpl.findByIdList", expiration = 60)
public List<Adv> findByIdList(List<String> idList, @ParameterValueKeyProvider(order = 0) String deviceType, @ParameterValueKeyProvider(order = 1) String sourceId) throws Exception {
4

1 回答 1

1

如果使用 ParameterValueKeyProvider 注释的方法的参数之一是 List 类型,则不应使用 @ReadThroughSingleCache。而不是@ReadThroughSingleCache 尝试使用@ReadThroughMultiCache

于 2013-12-10T09:03:09.127 回答