ショッピング カートのデータをセッションまたはデータベースのどこに保存すればよいですか? (ユーザーがログアウトした後、amazon.com のショッピング カートで、1 か月間ログインした後、ショッピング カートで選択した注文が保存されたと思います) ありがとう、ヨセフ
5 に答える
もちろん、ショッピングカートのデータは重要なデータです。このデータを保存する場所は、e コマース システムが動作するユーザーによって異なります。
署名されていない (まだ) ユーザーの場合 - このデータを Web ストレージに保存する必要があります。html5 を使用すると、これが可能になります。フロント エンド ストレージを使用するだけで、任意のブラウザー (Cookie、セッション ストレージ、ローカル ストレージ) を装備できます。チェックアウト プロセス システムでは、ユーザーからのサインアップが必要です。サインアップ後、このデータをデータベースと同期する必要があります。それ以外の場合は、この追跡不可能なデータをデータベースに保存する必要はありません.
署名済みユーザーの場合 - もちろんデータベース内。このようにして、ユーザーの Basket を正しく追跡できます。ユーザーが自分のアカウントと「保留中の支払いのアイテム」を表示できる場所からサインインする場合。そして、このデータをブラウザのストレージに保存するかどうかは、あなたの好み次第です。
この情報も役立つかもしれませんクライアント側とサーバー側のショッピングカードストレージ
両方どうですか?ショッピング カートのデータを読み取るときは、まずセッションを確認してください。そこにある場合は、旅行をデータベースに保存します (セッションがデータベースに支えられていない場合)。書き込むときは、セッションに書き込み、データベースに永続化します。そうすれば、すばやく読むことができ、ユーザーがブラウザを閉じたときにカートを失うことはありません。
ショッピング カート ソフトウェアが放棄されたカートを最大限に活用し (戻ってきて販売を終了する必要があるというリマインダーを送信する)、それらをデータベースからフラッシュし、適切なデータベース ハウスクリーニングを実行できる場合は、それらをデータベースに保持します。
返品ユーザーが現在のカート項目を続行できるようにする場合のみ、それらを Cookie でハッシュ化したままにします。
再訪問時に新しいカートが必要な場合は、セッションを終了してください。
私はよくカートのデータを最初にデータベースに更新し、すべてのページにミニカートを表示するなど、読み取り専用のリクエスト用にキャッシュ バージョンを保持します。カートのデータは、最適化して読み取る必要があります。また、カートのデータは小さいことが多いため、匿名ユーザー用に数か月間保持し、Cookie にも保存したいと考えています。