Kísérleteztem a Platform gyorsítótárával, és rábukkantam a CacheBuilder
felületre, amely robusztusnak tűnik a használati gyorsítótárunk számára. Az egyetlen probléma az, hogyan állíthatom be az időt, hogy ezen a felületen éljek? Alapértelmezés szerint 24 óra lesz, 2 órára szeretném állítani.
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; }
Használat:
User batman = (User) Cache.Org.get(UserInfoCache.class, ‘00541000000ek4c");
Válasz
Ez úgy néz ki, mint a CacheBuilder használatának korlátozása.
A Cache Builder az Ön számára ír és olvas be adatokat a gyorsítótárból, és semmilyen módon nem állíthatja be a TTL gyorsítótárat, amikor azt használja. láthatja a dokumentációban: Biztonságos gyorsítótár-értékek a CacheBuilder kezelőfelülettel
Válasz
Ez a felület csak abban segít, hogy lekérje az értékeket a gyorsítótárból, anélkül, hogy sok extra kódot adna hozzá a gyorsítótár hiányzások kezeléséhez. Ennek ellenére a put
metódust kell használni Szervezeti vagy munkamenet-gyorsítótár az érték tárolásához a gyorsítótárban. Beállíthatja a TTL-értéket, amikor ezt megteszi.
Példa:
Cache.Org.put("00541000000ek4c", userVar, 60*60*2);