Я использую Simple Spring Memcached (SSM) с моим весенним загрузочным приложением. Я новичок в memcached и пытаюсь разобраться.
Для приведенного ниже кода
@RestController
public class TestController {
@RequestMapping(value = "/checkend", method = RequestMethod.GET)
@Cacheable(value="defaultCache")
public String checkInteger(int Id){
RandomClass r = new RandomClass();
System.out.println("cache miss...");
return r.testCache("random");
}
}
public class RandomClass {
@Cacheable(value = "defaultCache")
public String testCache(String randomId){
System.out.println("came here ");
return "done1";
}
}
После вызова паузы, например: localhost:9000/checkend?Id=7, memcached сохраняет (7 в качестве ключа, "done1" в качестве значения) и будет извлекаться из кеша при выполнении того же вызова паузы.. (примечание: он не кэширует результат для метода "testCache" в RandomClass "Почему так?") И даже для
@RequestMapping(value = "/checkend", method = RequestMethod.GET)
public String checkInteger(int Id){
RandomClass r = new RandomClass();
System.out.println("cache miss...");
return r.testCache("random");
}
}
public class RandomClass {
@Cacheable(value = "defaultCache")
public String testCache(String randomId){
System.out.println("came here ");
return "done1";
}
}
Он не кэширует метод «testCache» с данным вводом. Любая причина, по которой метод RandomClass в этом случае не кэшируется?