Cum se atribuie timpul de cache pentru interfața Live în CacheBuilder?

Am experimentat cu platforma cache și am dat peste interfața CacheBuilder care pare robustă pentru cache-ul nostru de utilizare. Singura problemă este cum pot seta timpul să trăiesc în această interfață? În mod implicit, acesta va fi de 24 de ore, vreau să îl setez ca 2 ore.

Cod:

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

Utilizare:

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

Răspuns

Acest lucru pare a fi o limitare a utilizării CacheBuilder.

Constructorul de cache scrie și citește date din cache pentru dvs. și nu există nicio modalitate în care puteți seta cache-ul TTL când îl utilizați poate vedea în documentație: Valori cache în siguranță cu interfața CacheBuilder

Răspuns

Această interfață vă ajută doar să extrageți valori din cache fără a adăuga o mulțime de cod suplimentar pentru a gestiona ratările cache. Trebuie totuși să utilizați metoda put Org sau sesiune cache pentru a stoca o valoare în cache. Puteți seta valoarea TTL atunci când faceți acest lucru.

Exemplu:

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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *