Comment attribuer le temps de cache à Live dans linterface CacheBuilder?

Jexpérimentais avec Platform Cache et je suis tombé sur linterface CacheBuilder qui semble robuste pour notre cache dutilisation. Le seul problème est de savoir comment définir le temps de vie dans cette interface? Par défaut, ce sera 24 heures, je veux le définir sur 2 heures.

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; } 

Utilisation:

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éponse

Cela ressemble à une limitation de lutilisation de CacheBuilder.

Le générateur de cache écrit et lit les données du cache pour vous et il ny a aucun moyen de définir le TTL du cache lorsque vous lutilisez comme vous peut voir dans la documentation: Mettre en cache les valeurs en toute sécurité avec linterface CacheBuilder

Réponse

Cette interface vous aide uniquement à récupérer les valeurs du cache sans ajouter beaucoup de code supplémentaire pour gérer les erreurs de cache. Vous devez toujours utiliser la méthode put pour lun ou lautre Org ou Session cache pour stocker une valeur dans le cache. Vous pouvez définir la valeur TTL lorsque vous faites cela.

Exemple:

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *