SESSION に関するいくつかの質問
SESSION はサーバー上に配置され、サーバーはユーザーに SESSIONID を与え、ユーザーはセッションが終了すると SESSIONID に依存してアクセスします。 。当然のことながら、ユーザーは元の SESSION ファイルを見つけることができません。
----------------------------------------------- --- --------------------------------------------------- --- ------------------------
それでは、質問です。 。 SESSIONを使用してタオバオやJD.comのようなショッピングカートシステムを実装するにはどうすればよいですか?
1. SESSIONを使用すると、ブラウザを閉じるとデータが見つからないため、2回目を見るとショッピングカートが空になることはありませんか?
2. COOKIE を使用してクライアントに保存すると、コンピューターを変更するとショッピング カートも空になりますか?
3. データベースに配置され、ユーザーがアクセスするたびにデータベース クエリが呼び出される場合、サーバーの負荷が高くなりすぎませんか?
4. サーバー上の SESSION のデフォルトの保存時間は 1440 秒です。ブラウザを閉じると SESSION ファイルが見つからず、呼び出すことができないため、この時間は役に立ちません。 2回目は5分に設定したほうがいいでしょうか?
----------------------------------------------- --- --------------------------------------------------- --- ----------------------------------
私は PHP を初めて使用するため、 SESSIONを正しく理解していただければ幸いです。少し極端ですが、ぜひご指導、修正をお願いいたします。
------解決策のアイデア----------------------
1、2、3、すべての場合データベースを使用する場合、ユーザー ID をインデックスとして設定するのは非常に高速であり、サーバーではありません。お話によると、ログインするたびにデータベースを確認する必要があり、非常にストレスがかかるのでは? !
4. 前述の 1440 秒は、ユーザーが 1 つのページに滞在する時間です。この時間が経過すると、他のページにセッション情報は表示されなくなります。
--- --解決済みのアイデア----------------------
オンラインで買い物をしたことがないので、ショッピングカートのデータが残っているかどうかわかりませんブラウザを閉じた後に存在する
仮定 存在する場合、それはデータベースに保存され、ユーザー名を一意の識別マークとして使用します
データを配置するときにサーバーに大きな負荷がかかっていると感じるのはなぜですかデータベースは重要ですが、ファイルに保存する場合はそれほど重要ではありません。
明らかに、これは認識上の誤解です。テーブル ファイルもファイルであることを知っておく必要があります。
セッションの 1440 秒は、セッションの最小保持時間を指します。つまり、最後のアクセスから 1440 秒後にのみ削除できます
なぜ 1440 秒であって、これは統計的な量です。操作中に一時的に何かをした場合 (喫煙、飲酒、電話に出るなど)、5 分間の一時停止後に再度ログインする必要がある場合でも、通常は 24 分を超えません。無愛想?