Java 如何使用简单的spring memcache缓存集合或数组参数

Java 如何使用简单的spring memcache缓存集合或数组参数,java,memcached,simple-spring-memcached,ssm,Java,Memcached,Simple Spring Memcached,Ssm,我的项目使用一个简单的spring memcache来缓存服务方法,但它不起作用,如下所示: @ReadThroughSingleCache(namespace = "AdvServiceImpl.findByIdList", expiration = 60) public List<Adv> findByIdList(@ParameterValueKeyProvider(order = 0) List<String> idList, @ParameterValueKey

我的项目使用一个简单的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”,过期=60)
公共列表findByIdList(@ParameterValueKeyProvider(order=0)列表idList,@ParameterValueKeyProvider(order=1)String deviceType,@ParameterValueKeyProvider(order=2)String sourceId)引发异常{
但我这样写是为了让它能工作:

@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 {
@ReadThroughSingleCache(namespace=“AdvServiceImpl.findByIdList”,过期=60)
公共列表findByIdList(列表idList,@ParameterValueKeyProvider(order=0)String deviceType,@ParameterValueKeyProvider(order=1)String sourceId)引发异常{

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