Jeg eksperimenterte med Platform Cache og snublet over CacheBuilder
grensesnitt som ser robust ut for vår cache. Det eneste problemet er hvordan kan jeg angi tid til å leve i dette grensesnittet? Som standard vil det være 24 timer, jeg vil sette det til 2 timer.
Kode:
class UserInfoCache implements Cache.CacheBuilder { public Object doLoad(String userid) { User u = (User)[SELECT Id, IsActive, username FROM User WHERE id =: userid]; return u; }
Bruk:
User batman = (User) Cache.Org.get(UserInfoCache.class, ‘00541000000ek4c");
Svar
Dette ser ut som en begrensning i CacheBuilder-bruk.
Cache-byggmester skriver og leser data fra hurtigbufferen for deg, og det er ikke mulig å stille TTL-hurtigbufferen når du bruker den som du kan vises i dokumentasjonen: Sikkert cacheverdier med CacheBuilder-grensesnittet
Svar
Dette grensesnittet hjelper deg bare med å hente verdier fra hurtigbufferen uten å legge til mye ekstra kode for å håndtere hurtigbuffer. Du må fortsatt bruke put
-metoden for enten Organ- eller øktbuffer for å lagre en verdi i hurtigbufferen. Du kan angi TTL-verdien når du gjør det.
Eksempel:
Cache.Org.put("00541000000ek4c", userVar, 60*60*2);