PHP セッションを再発明しているようです。カートのアイテムをデータベースから切り離し、代わりにセッション配列に入れることをお勧めします。セッションを必要なだけ継続するように構成できます。
カートのアイテムを長期間保持することには欠点があります。製品の変更/削除などです。すべてのカートのアイテムがまだ有効であることを定期的に確認する必要があります。
カートの商品をデータベースに保存する必要がある場合は、ページ ビューごとにタイムスタンプを使用してユーザー レコードを更新する必要があります。これを使用して、X 日前のタイムスタンプを持つユーザーと関連するカート項目を削除する cron ジョブ/スケジュールされたタスクを作成できます。
Cron は Linux/Unix の機能で、設定した時点でタスクをスケジュールできます。たとえば、毎日午前 2 時にクリーンアップ スクリプトを呼び出す場合、cronjob は次のようになります。
* 2 * * * /path/to/php -q /path/to/script.php >/dev/null
ウィキペディアから:
* * * * * command to be executed
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───── day of week (0 - 7) (0 or 7 are Sunday, or use names)
│ │ │ └────────── month (1 - 12)
│ │ └─────────────── day of month (1 - 31)
│ └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)
より詳しい情報