ホームページ > バックエンド開発 > PHPチュートリアル > PHPでキャッシュを定期的に削除するにはどうすればよいですか? ?

PHPでキャッシュを定期的に削除するにはどうすればよいですか? ?

WBOY
リリース: 2016-07-06 13:52:17
オリジナル
1306 人が閲覧しました

php は Windows 環境で実行されます:
例:
ユーザーのアバターを設定するとき、ユーザーはソース ファイルをアップロードし、サーバーはソース ファイルと変更されたファイルを保存します。ソース ファイルは tmp_file ファイル ディレクトリに保存され、変更されたファイルは header_file ディレクトリに配置されます。

tmp_file に保存されているソースファイルを定期的にクリーンアップしたいのですが? ?やり方が分かりませんか? ?次のことを達成することは可能ですか:

リーリー

使用する場合:

リーリー

確かに定期的に掃除できます。ただし、一度実行した後、再度実行するまでに 60 秒待つ必要があります。短期間に急に大量の画像を処理する場合、ブロックされて実行できなくなります。

メインスレッドがスタックして実行されなくなることなく、時間のかかるスレッドを処理するために、JS ワークスレッドのような追加の JS スクリプトを PHP で実行できるようにするにはどうすればよいですか? ?

返信内容:

php は Windows 環境で実行されます:
例:
ユーザーのアバターを設定するとき、ユーザーはソース ファイルをアップロードし、サーバーはソース ファイルと変更されたファイルを保存します。ソース ファイルは tmp_file ファイル ディレクトリに保存され、変更されたファイルは header_file ディレクトリに配置されます。

tmp_file に保存されているソースファイルを定期的にクリーンアップしたいのですが? ?やり方が分かりませんか? ?次のことを達成することは可能ですか:

リーリー

使用する場合:

リーリー

確かに定期的に掃除できます。ただし、一度実行した後、再度実行するまでに 60 秒待つ必要があります。短期間に急に大量の画像を処理する場合、ブロックされて実行できなくなります。

メインスレッドがスタックして実行されなくなることなく、時間のかかるスレッドを処理するために、JS ワークスレッドのような追加の JS スクリプトを PHP で実行できるようにするにはどうすればよいですか? ?

スケジュールされたタスクには crontab を使用します。これが最良の選択です。

PHP は Web 環境では実行できません。シェルを作成してから cronjob を実行します

60 秒間滞在したい理由は何ですか? 何も考えていない場合は、最後に unlink だけ言ってください。このシナリオでは、コードを複雑にする必要はないと思います。

memcache を直接使用しないのはなぜですか?それ自体でタイムアウト キャッシュを自動的に削除できます

アップロード時間を保存し、現在時刻とアップロード時刻の時差を求めます。

時間差が60秒を超える場合は削除します。

明らかに、元の投稿者は Windows をインストールしていて、cgwin のインストールや crontab の使用を望んでいません。次のことを試してみてください。

if(ランダム(1,10)==6){
」 リーリー

}


私はランダムな条件の例を示しているだけです

それを自分で使用することもできます: 時間シード...特定のファイルのタッチ時間...など
すべてのユーザーは待つ必要はありません...

何百ものファイルを削除しても問題ありません

ディスク I/O が特に高く、サーバーの負荷が高い場合は、crontab で削除することをお勧めします。

    Windows のスケジュールされたタスクでも crontab 効果を実現できます (ただし、自動起動がオンになっている場合、サーバーのパスワードを毎回変更するのは非常に面倒ですが)
ignore_user_abort を使用する必要がある場合は、データベースまたは Redis に一意のフラグを設定します

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート