Experimentoval jsem s mezipamětí platformy a narazil jsem na CacheBuilder
rozhraní, které pro naši mezipaměť použití vypadá robustně. Jediným problémem je, jak mohu nastavit čas pro život v tomto rozhraní? Ve výchozím nastavení to bude 24 hodin, chci to nastavit jako 2 hodiny.
Kód:
class UserInfoCache implements Cache.CacheBuilder { public Object doLoad(String userid) { User u = (User)[SELECT Id, IsActive, username FROM User WHERE id =: userid]; return u; }
Použití:
User batman = (User) Cache.Org.get(UserInfoCache.class, ‘00541000000ek4c");
Odpovědět
Vypadá to jako omezení použití CacheBuilder.
Tvůrce mezipaměti pro vás zapisuje a čte data z mezipaměti a není možné nastavit TTL mezipaměti, když ji používáte jako vy v dokumentaci lze zobrazit: Hodnoty bezpečně ukládat do mezipaměti s rozhraním CacheBuilder
Odpovědět
Toto rozhraní vám pomůže pouze načíst hodnoty z mezipaměti, aniž byste přidali spoustu dalšího kódu pro zpracování chyb v mezipaměti. Stále musíte použít metodu put
buď pro Organická nebo relační mezipaměť pro uložení hodnoty do mezipaměti. Hodnotu TTL můžete nastavit, když to provedete.
Příklad:
Cache.Org.put("00541000000ek4c", userVar, 60*60*2);