CacheBuilderインターフェースでLiveにキャッシュ時間を割り当てる方法は?

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"); 

Soure : https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_interface_cache_CacheBuilder.htm

回答

これはCacheBuilderの使用制限のようです。

キャッシュビルダーはキャッシュからデータを読み書きするため、キャッシュTTLを設定する方法はありません。ドキュメントで確認できます: CacheBuilderインターフェイスを使用して値を安全にキャッシュする

回答

このインターフェースは、キャッシュミスを処理するために多くのコードを追加せずに、キャッシュから値を取得するのに役立ちます。いずれの場合も、putメソッドを使用する必要がありますキャッシュに値を格納するための組織キャッシュまたはセッションキャッシュ。これを行うときにTTL値を設定できます。

例:

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です