Hoe kan ik cachetijd toewijzen aan de Live in CacheBuilder-interface?

Ik was aan het experimenteren met Platform Cache en kwam een CacheBuilder interface tegen die er robuust uitziet voor onze gebruikscache. Het enige probleem is: hoe kan ik de tijd instellen om in deze interface te leven? Standaard is het 24 uur, ik wil het instellen op 2 uur.

Code:

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

Gebruik:

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

Antwoord

Dit ziet eruit als een beperking van het gebruik van CacheBuilder.

Cache Builder schrijft en leest gegevens uit de cache voor u en er is geen manier om de cache TTL in te stellen wanneer u deze gebruikt zoals u kan in de documentatie zien: Waarden veilig opslaan met de CacheBuilder-interface

Antwoord

Deze interface helpt je alleen waarden uit de cache op te halen zonder veel extra code toe te voegen om cache-missers af te handelen. Je moet nog steeds de put -methode gebruiken voor ofwel de Org- of sessiecache om een waarde in de cache op te slaan. U kunt de TTL-waarde instellen wanneer u dat doet.

Voorbeeld:

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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *