Wie ordne ich Live in der CacheBuilder-Oberfläche die Cache-Zeit zu?

Ich habe mit Platform Cache experimentiert und bin auf die CacheBuilder -Schnittstelle gestoßen, die für unseren Verwendungscache robust aussieht. Das einzige Problem ist, wie ich die Zeit einstellen kann, um in dieser Schnittstelle zu leben. Standardmäßig sind es 24 Stunden, ich möchte es auf 2 Stunden einstellen.

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

Verwendung:

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

Antwort

Dies scheint eine Einschränkung der CacheBuilder-Verwendung zu sein.

Der Cache-Builder schreibt und liest Daten aus dem Cache für Sie, und Sie können die Cache-TTL nicht festlegen, wenn Sie sie wie Sie verwenden In der Dokumentation finden Sie Folgendes: Werte mit der CacheBuilder-Schnittstelle sicher zwischenspeichern

Antwort

Diese Schnittstelle hilft Ihnen nur beim Abrufen von Werten aus dem Cache, ohne viel zusätzlichen Code hinzuzufügen, um Cache-Fehler zu behandeln. Sie müssen weiterhin die Methode put für beide verwenden Organisations- oder Sitzungscache zum Speichern eines Werts im Cache. Sie können dabei den TTL-Wert festlegen.

Beispiel:

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.