我有以下缓存student-classes
的方法,我只想清除student-classes
的缓存名称
@Cacheable( value = "getStudentClasses",key ="(new net.student.util.CacheKeyCreator()).createKey(''+#university)",cacheManager = "cacheManager")
public List<StudentClass> getStudentClasses(String university) {
//get studentclasses
}
我曾尝试清除以下内容,但并未清除具有特定名称的缓存
@Bean(name = "cacheManager")
public CacheManager cacheManager ( RedisTemplate<String, Object> redisTemplate ) {
RedisCacheManager redisCacheManager = new RedisCacheManager( redisTemplate );
redisCacheManager.setDefaultExpiration(0);
redisCacheManager.setUsePrefix( true);
return redisCacheManager;
}
@Autowired
ApplicationContext context;
public void clearStudentClasses(){
CacheManager cacheManager= (CacheManager) context.getBean("cacheManager");
cacheManager.getCache("getStudentClasses").clear(); //exceptionLine
}
我在例外行有这个例外
> org.springframework.dao.InvalidDataAccessApiUsageException: ERR
> unknown command 'EVAL'; nested exception is
> redis.clients.jedis.exceptions.JedisDataException: ERR unknown command
> 'EVAL'