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