私の問題
ロングポーリングアプリケーションのために、ある種のデータ構造でメッセージを保持したいとします。
1. "dude"
2. "where"
3. "is"
4. "my"
5. "car"
index [4,5]からのメッセージを要求すると、次のように返されます
"my","car"
。
次に、しばらくすると、古いメッセージは役に立たなくなったため、メモリを節約したいので、それらを削除したいとします。x
時間の経過後にメッセージ[1-3]が古くなったとしましょう。x
1秒に1回だけ削除するのが最も効率的だと思います。次に、私のデータ構造には次のものが含まれている必要があります。
4. "my"
5. "car"
私の解決策は?
concurrentskiplistset
またはconcurrentskiplist
マップを使用することを考えていました。また、の中から古いメッセージを削除することを考えていましたnewSingleThreadScheduledExecutor
。これを(効率的に/スレッドセーフに)実装する方法、またはライブラリを使用する方法を知りたいですか?