Hvordan tildeles Cache-tid til Live i CacheBuilder-interface?

Jeg eksperimenterede med Platform Cache og snuble over CacheBuilder interface, der ser robust ud til vores brugscache. Det eneste problem er, hvordan kan jeg indstille tid til at leve i denne grænseflade? Som standard er det 24 timer, jeg vil indstille 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; } 

Anvendelse:

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 ligner en begrænsning af CacheBuilder-brug.

Cache-builder skriver og læser data fra cachen for dig, og der er ingen måde, du kan indstille cache-TTL, når du bruger den som dig kan ses i dokumentationen: Cache-værdier sikkert med CacheBuilder-grænsefladen

Svar

Denne grænseflade hjælper dig kun med at hente værdier fra cachen uden at tilføje en masse ekstra kode til håndtering af cache-savner. Du skal stadig bruge metoden put til enten Organ eller session cache for at gemme en værdi i cachen. Du kan indstille TTL-værdien, når du gør det.

Eksempel:

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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *