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