111

ehache のドキュメントには次のように書かれています。

timeToIdleSeconds: Sets the time to idle for an element before it expires.
i.e. The maximum amount of time between accesses before an element expires

timeToLiveSeconds: Sets the time to live for an element before it expires.
i.e. The maximum time between creation time and when an element expires.

timeToIdleSecondsについて理解しました

しかし、キャッシュ項目の作成と最初のアクセスの後、timeToLiveSecondsはもう適用されないということですか?

4

3 に答える 3

170

timeToIdleSecondsより短い期間に要求されている限り、キャッシュされたオブジェクトを保持できるようにしますtimeToIdleSecondstimeToLiveSeconds何度またはいつ要求されたかに関係なく、その秒数後にキャッシュされたオブジェクトが無効になります。

としましょうtimeToIdleSeconds = 3。その後、4 秒間リクエストがない場合、オブジェクトは無効になります。

の場合timeToLiveSeconds = 90、90 秒後にオブジェクトがキャッシュから削除されます。これは、オブジェクトがその短い寿命の 90 秒で数ミリ秒要求されたとしてもです。

于 2010-04-06T08:36:01.547 に答える
46

両方を設定すると、次のexpirationTimeようになりますMath.min(ttlExpiry, ttiExpiry)

ttlExpiry = creationTime + timeToLive
ttiExpiry = mostRecentTime + timeToIdle

完全なソースコードはこちら

于 2012-02-24T10:13:57.910 に答える
22

古い 1.1 ドキュメント(Google Cache で入手可能。現在のドキュメントよりも参照しやすく、情報が豊富です):

timeToIdleSeconds

これはオプションの属性です。

有効な値は、0 から Integer.MAX_VALUE までの整数です。

要素が最後に使用されてから存続する秒数です。使用とは、挿入またはアクセスされたことを意味します。

0 には特別な意味があります。これは、Element がアイドル状態になるまでの時間をチェックしないという意味です。つまり、永久にアイドル状態になります。

デフォルト値は 0 です。

timeToLiveSeconds

これはオプションの属性です。

有効な値は、0 から Integer.MAX_VALUE までの整数です。

Element が作成されてから存続する秒数です。作成されるとは、Cache.put メソッドを使用してキャッシュに挿入されることを意味します。

0 には特別な意味があります。これは、Element の存続時間をチェックしないという意味です。つまり、永久に存続します。

デフォルト値は 0 です。

于 2011-08-12T02:08:42.613 に答える