問題タブ [evict]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
redis - リストはredisのエビクションに関してどのように扱われますか?
私が直面している問題は、リストが完全に削除されていることを確認したいということです。つまり、リスト内のエントリが個別に削除されていないことを確認してください。LRU エビクション アルゴリズムの使用を検討しています。
リストはそのキーによって認識されるため、リストが削除されたときに発生する可能性が最も高いのは、そのキーによってリスト全体が削除されることです。これが事実であることを確認するために読むことができる文書や証拠はありますか、それとも指摘する必要がないほど自明ですか?
server - com.netflix.eureka.InstanceRegistry は古いインスタンスを削除しません
登録されているが停止したサービスのインスタンスは、InstanceRegistry によって削除されません。タイマー インスタンスは開始されますが、メソッド isLeaseExpirationEnabled() は常に false を返します。これは、次の行に由来します。
誰かが絵のどこが悪いのか考えていますか? 助けてくれてありがとうルッツ
c# - 第 2 レベルのキャッシュ項目を削除する
Syscache 第 2 レベル キャッシュで NHibernate 3.3 を使用しており、第 2 レベル キャッシュからオブジェクトを削除しようとしていますが、うまくいかないようです。
私は他の例に基づいてこのコードを使用しています:
削除後、CollectionCache と ClassCache にはまだ同じ数の項目があります。
また、NhibernateSessionFactory.Instance.Evict(typeof(someObject), SomeObjectId);
効果はないようです。
私の使用例: 切り離されたオブジェクトを操作していて、別のアプリケーションがデータベースに変更を加えた場合、それらのアイテムを第 2 レベルのキャッシュから削除して同期を維持する必要があります。
caching - Infinispan:バッキング singleFileStore からエントリが削除されたときに通知を受け取る方法
標準のエビクション イベントは、キャッシュ エントリがメモリ内キャッシュからエビクトされると発生します。この場合、SingleFileStore として構成されている再起動永続ディスク キャッシュから削除された場合にのみ、通知が必要です。それは可能ですか?
Infinispan をローカル キャッシュとして使用しているため、クラスタリングに関する考慮事項はすべて意味がありません。
キャッシュ構成は次のとおりです。
java - expireAfterWrite が設定された Guava LoadingCache はいつ cleanUp() を呼び出す必要がありますか?
これは自分で発見するのは簡単なことのように思えますが、ここにいます。
ベースのGuava Cache Interfaceには、次のことしかありませんcleanUp()
。
void cleanUp()
キャッシュに必要な保留中のメンテナンス操作を実行します。正確にどのアクティビティが実行されるか (もしあれば) は、実装に依存します。
そしてCacheBuilder()
こう言います。
expireAfterWrite または expireAfterAccess が要求された場合、キャッシュの変更ごと、時折のキャッシュ アクセス時、または Cache.cleanUp() の呼び出し時に、エントリが削除される可能性があります。期限切れのエントリは Cache.size() によってカウントされる場合がありますが、読み取りまたは書き込み操作で表示されることはありません。
weakKeys、weakValues、または softValues が要求された場合、キャッシュに存在するキーまたは値がガベージ コレクターによって回収される可能性があります。再利用されたキーまたは値を含むエントリは、キャッシュの変更ごと、不定期のキャッシュ アクセス時、または Cache.cleanUp(); の呼び出し時にキャッシュから削除される場合があります。そのようなエントリは Cache.size() でカウントされる場合がありますが、読み取りまたは書き込み操作からは決して見えません。
特定のキャッシュ構成では、定期的なメンテナンス タスクが発生します。このタスクは、書き込み操作中に実行されるか、書き込みがない場合の不定期の読み取り操作中に実行されます。返されたキャッシュの Cache.cleanUp() メソッドもメンテナンスを実行しますが、スループットの高いキャッシュではそれを呼び出す必要はありません。定期的なメンテナンスを実行するのは、removalListener、expireAfterWrite、expireAfterAccess、weakKeys、weakValues、または softValues で構築されたキャッシュのみです。
したがって、 cleanUp は何もしない場合もあれば、何もしない場合もあり、呼び出されることでメリットがある場合とない場合があります。しかし、私が知る限り、LocalCache.cleanUp()メソッドは何かを行いますが、私は何に従っていないだけです。大まかに言えば、LoadingCache で cleanup() を呼び出す必要があるのはいつですか?
.load()
注: Guava 18 で CacheBuilderを呼び出したときにデバッガーがインスタンス化されるとデバッガーが言うため、 cleanUp の LocalCache 参照にリンクしました。
具体的には、私の使用例は、標準のデータベース バック ロード キャッシュです。一部のデータベース レコードが変更または削除され、有効期限が十分に速くない場合に、特定のキャッシュをワイプする機能を公開するように依頼されました。私たちは高速で汚れたアプローチを採用し、疑わしいキャッシュを でクリアできるようにしましたinvalidateAll()
。cleanUp()
後で電話するべきですか?なぜですか、そうでないのですか?
redis - RAMがいっぱいの場合、redisにデータベースベースのキー削除ポリシーはありますか?
redis サーバーで 5 つのデータベースを使用しています。LRU メカニズムを使用して、特定の DB に属するキーを削除したいと考えています。出来ますか ?
私はこれを読みました: how-to-make-redis-choose-lru-eviction-policy-for-only-some-of-the-keys。
しかし、私のデータベースはすべて、エントリの存続時間を使用しています。したがって、volatile-lruポリシーは使用できません。
volatile-ttlポリシーを試しましたが、他のデータベースではキーの ttl が少なくなっています。だから彼らは追い出されますが、私は望んでいません。
hazelcast - Hazelcast マップ fifo エビクション
hazelcast Map で FIFO エビクション ポリシーを設定する必要があります。アイデアは、ヒープが 90% のメモリで占有されると、システムは最も古いデータの解放を開始するというものです。LRU と LFU が機能せず、システムがアクセスされていない場合でも、数分で 90% がいっぱいになる可能性があります。どんなアイデアでも大歓迎です。参考までに、hazelcast マップに Java クライアントを使用しています。