Hur tilldelar jag Cache-tid till Live i CacheBuilder-gränssnittet?

Jag experimenterade med Platform Cache och snubblade över CacheBuilder gränssnitt som ser robust ut för vår cache. Det enda problemet är hur kan jag ställa in tiden för att leva i detta gränssnitt? Som standard är det 24 timmar, jag vill ställa in det som 2 timmar.

Kod:

class UserInfoCache implements Cache.CacheBuilder { public Object doLoad(String userid) { User u = (User)[SELECT Id, IsActive, username FROM User WHERE id =: userid]; return u; } 

Användning:

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

Detta ser ut som en begränsning av CacheBuilder-användningen.

Cache-byggaren skriver och läser data från cachen för dig och det finns inget sätt att ställa in cache-TTL när du använder den som du kan visas i dokumentationen: Cache-värden säkert med CacheBuilder-gränssnittet

Svar

Det här gränssnittet hjälper dig bara att hämta värden från cachen utan att lägga till mycket extra kod för att hantera cachemissar. Du måste fortfarande använda metoden put för antingen Organisations- eller sessionscache för att lagra ett värde i cachen. Du kan ställa in TTL-värdet när du gör det.

Exempel:

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

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *