Hvordan tilordne Cache-tid til Live in CacheBuilder-grensesnitt?

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"); 

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

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);

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *