Platform Cacheを試していたところ、使用キャッシュに対して堅牢に見えるCacheBuilder
インターフェースに出くわしました。唯一の問題は、このインターフェイスでの存続時間をどのように設定できるかです。デフォルトでは24時間になりますが、2時間に設定したいと思います。
コード:
class UserInfoCache implements Cache.CacheBuilder { public Object doLoad(String userid) { User u = (User)[SELECT Id, IsActive, username FROM User WHERE id =: userid]; return u; }
使用法:
User batman = (User) Cache.Org.get(UserInfoCache.class, ‘00541000000ek4c");
回答
これはCacheBuilderの使用制限のようです。
キャッシュビルダーはキャッシュからデータを読み書きするため、キャッシュTTLを設定する方法はありません。ドキュメントで確認できます: CacheBuilderインターフェイスを使用して値を安全にキャッシュする
回答
このインターフェースは、キャッシュミスを処理するために多くのコードを追加せずに、キャッシュから値を取得するのに役立ちます。いずれの場合も、put
メソッドを使用する必要がありますキャッシュに値を格納するための組織キャッシュまたはセッションキャッシュ。これを行うときにTTL値を設定できます。
例:
Cache.Org.put("00541000000ek4c", userVar, 60*60*2);