플랫폼 캐시를 실험하다가 사용 캐시에 견고 해 보이는 CacheBuilder
인터페이스를 발견했습니다. 유일한 문제는이 인터페이스에서 살아갈 시간을 어떻게 설정할 수 있습니까? 기본 설정은 24 시간이며 2 시간으로 설정하고 싶습니다.
코드 :
class UserInfoCache implements Cache.CacheBuilder { public Object doLoad(String userid) { User u = (User)[SELECT Id, IsActive, username FROM User WHERE id =: userid]; return u; }
사용법 :
User batman = (User) Cache.Org.get(UserInfoCache.class, ‘00541000000ek4c");
답변
이것은 CacheBuilder 사용의 제한처럼 보입니다.
캐시 빌더는 캐시에서 데이터를 쓰고 읽습니다. 캐시 TTL을 사용할 때 캐시 TTL을 설정할 수있는 방법은 없습니다. 문서에서 볼 수 있습니다. CacheBuilder 인터페이스로 값을 안전하게 캐시
Answer
이 인터페이스는 캐시 누락을 처리하기 위해 많은 추가 코드를 추가하지 않고 캐시에서 값을 검색하는 데만 도움이됩니다. 두 경우 모두 put
메소드를 사용해야합니다. 캐시에 값을 저장하기위한 조직 또는 세션 캐시입니다.이를 수행 할 때 TTL 값을 설정할 수 있습니다.
예 :
Cache.Org.put("00541000000ek4c", userVar, 60*60*2);