CacheBuilder 인터페이스에서 Live에 캐시 시간을 할당하는 방법은 무엇입니까?

플랫폼 캐시를 실험하다가 사용 캐시에 견고 해 보이는 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"); 

Soure : https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_interface_cache_CacheBuilder.htm

답변

이것은 CacheBuilder 사용의 제한처럼 보입니다.

캐시 빌더는 캐시에서 데이터를 쓰고 읽습니다. 캐시 TTL을 사용할 때 캐시 TTL을 설정할 수있는 방법은 없습니다. 문서에서 볼 수 있습니다. CacheBuilder 인터페이스로 값을 안전하게 캐시

Answer

이 인터페이스는 캐시 누락을 처리하기 위해 많은 추가 코드를 추가하지 않고 캐시에서 값을 검색하는 데만 도움이됩니다. 두 경우 모두 put 메소드를 사용해야합니다. 캐시에 값을 저장하기위한 조직 또는 세션 캐시입니다.이를 수행 할 때 TTL 값을 설정할 수 있습니다.

예 :

Cache.Org.put("00541000000ek4c", userVar, 60*60*2);

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다