¿Cómo asignar tiempo de caché para vivir en la interfaz de CacheBuilder?

Estaba experimentando con Platform Cache y me topé con la interfaz CacheBuilder que parece robusta para nuestro uso de caché. El único problema es ¿cómo puedo establecer el tiempo de vida en esta interfaz? Por defecto será 24 horas, quiero configurarlo como 2 horas.

Código:

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

Uso:

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

Respuesta

Esto parece una limitación del uso de CacheBuilder.

El constructor de caché escribe y lee datos de la caché por usted y no hay forma de que pueda configurar el TTL de la caché cuando lo usa como usted puede ver en la documentación: Almacenar valores en caché de forma segura con la interfaz CacheBuilder

Respuesta

Esta interfaz solo lo ayuda a recuperar valores de la caché sin agregar mucho código adicional para manejar fallas de caché. Aún debe usar el método put para Org o caché de sesión para almacenar un valor en el caché. Puede establecer el valor TTL cuando lo haga.

Ejemplo:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *