我将Spring Redis与@Cacheable通知一起用于两个方法。当我调用一个方法时,我会得到另一个方法的缓存结果。
当我使用@Cachebale注释为每个方法配置不同的缓存时,我怎么会从错误的缓存中获得结果呢?
设置: Spring版本4.1.6。Redis data 1.5和Redis client 2.7.0。
示例代码:
@Cacheable("test1")
public List<String> findSgsns() {
}
@Cacheable("test2")
public List<String> findSgsns2() {
}
发布于 2015-04-16 19:46:32
通过将以下设置添加到弹簧配置(设置usePrefix),解决了该问题:
<bean
id="cacheManager"
class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="redisTemplate">
<property name="usePrefix" value="true" />
</bean>
https://stackoverflow.com/questions/29672112
复制相似问题