2

10 分ごとにデータを収集し、そのデータを 32 時間保存する必要があります。つまり、このデータには 192 のエントリがあり、それらの 192 のエントリに頻繁にアクセスする必要があります。

最初は、配列を使用して要素をプッシュするだけでした。カウンターが tan 192 より高い場合、最初の要素 (32 時間前に収集された要素) を削除します。ただし、かなり遅くなる可能性があると思います。

もう 1 つの方法は、データを Linux の /tmp ディレクトリに書き込み、実際には削除する必要はなく、最新の 192 エントリを読み取るだけです。

このグーグルについてはあまり見つけられなかったので、誰かが私を正しい方向に向けることができますか?

また、マシンの再起動/再起動でデータが失われても問題ありません。

4

2 に答える 2

0

この種の要件については、データを redis や memcache などの高速キャッシュに保存することをお勧めします。キーの有効期限が切れる時間を指定できます。これにより、非常に高速になり、明示的に管理する必要がなくなります。したがって、キャッシュにデータを長期間保存することをお勧めします。キャッシュ サーバーをアプリケーション サーバーから分離することで、再起動時にデータが失われることはありません。

また、/tmp ディレクトリは、オペレーティング システムによって随時クリーンアップされるため、信頼して保存することはできません。

データを保存する場合は、代わりに db を使用してください。

于 2014-02-21T12:06:55.427 に答える