インターネットの継続的な発展に伴い、フォーラムはオンライン コミュニケーションの重要なプラットフォームの 1 つとして、人々が情報を入手し、意見を交換するための重要なツールとなっています。数あるフォーラム プログラムの中でも、Discuz Forum は中国で最も人気のあるオープンソース フォーラム プログラムであり、多くのユーザーとデータを持っています。しかし、フォーラムの利用時間が長くなると、データの蓄積も問題となり、サーバースペースを占有し、Webサイトの読み込み速度に影響を与え、さらにはセキュリティリスクを引き起こす可能性があります。したがって、期限切れのデータを適時に消去することが非常に必要です。以下では、Discuz フォーラムのデータを消去する最も効果的な方法と具体的なコード例を紹介します。
まず第一に、どのデータを消去する必要があるかを明確にする必要があります。一般的に、ユーザー登録後長期間ログインしていないフォーラム内のアカウント、古い投稿、無駄な添付ファイルなどはすべてクリーンアップする必要があるコンテンツです。 Discuz では、データの消去は主にスケジュールされたタスク (Cron) を通じて実現できます。次に、次の手順でデータをクリアする方法を紹介します。
ステップ 1: スケジュールされたタスクを設定する
Discuz バックグラウンド管理システムにログインし、 「ツール」メニュー 「タスクスケジュール」の下の「タスクスケジュール」オプションをクリックして、タスクスケジュール設定ページに入ります。ページ上で「データ クリーニング」に関連するタスクを見つけて、計画されたタスクが時間どおりに実行できるように、クリーニング サイクル、時間、その他のパラメーターを設定します。
ステップ 2: 消去プログラムを作成する
消去する必要があるデータの種類に応じて、対応する消去プログラムを作成します。以下に、一般的なデータ消去コードの例を示します。
長期間ログインしていないユーザーを消去する:
DELETE FROM pre_ucenter_members WHERE lastlogin < UNIX_TIMESTAMP(NOW()) - 2592000; DELETE FROM pre_common_member WHERE lastvisit < UNIX_TIMESTAMP(NOW()) - 2592000;
指定した時間前に投稿を消去する:
DELETE FROM pre_forum_thread WHERE dateline < UNIX_TIMESTAMP('2021-01-01'); DELETE FROM pre_forum_post WHERE dateline < UNIX_TIMESTAMP('2021-01-01');
Clear役に立たない添付ファイル:
DELETE FROM pre_forum_attachment WHERE dateline < UNIX_TIMESTAMP('2021-01-01');
ステップ 3: クリーニング プログラムを実行する
スケジュールされたタスクを設定し、クリーニング プログラムを作成した後、スケジュールされたタスクが実行されるまで待機するか、プログラムを手動で実行して、Discuz フォーラムから無駄なデータを消去します。
注:
要約すると、データの消去は Discuz フォーラムの管理に不可欠な部分であり、不要なデータを定期的に消去することで、フォーラムの健全な運営を維持し、ユーザー エクスペリエンスを向上させることができます。この記事で提供されている方法とコード例が Discuz フォーラム管理者に役立ち、フォーラム管理がより効率的かつ便利になることを願っています。
以上がDiscuz フォーラム管理必読: 最も効果的なデータ クリーニング方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。