Announcement

Collapse
No announcement yet.

Programmierung Warenkorb - Problem mit Session-Timeout

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programmierung Warenkorb - Problem mit Session-Timeout

    Hallo zusammen,

    ich habe eine Frage zu Sessions, vielleicht kann mir jemand weiter helfen...

    Ich habe einen kleinen Warenkorb in PHP Programmiert. Die Inhalte des Warenkorbs werden in einer Datenbank gespeichert (Tabellen 'carts' und 'items').

    Um den Warenkorb zu identifiezieren speichere ich die Session-ID in der Tabelle 'carts'.

    Funktioniert auch alles einwandfrei, allerdings kann der Warenkorb nicht mehr identifiziert werden, wenn die Session abläuft, da eine neue Session-ID vergeben wird. Deshalb habe ich das Session-Timeout auf 3 Stunden hochgesetzt. Nun habe ich aber gelesen, dass dies schlecht für die Performance ist, da auf diese Weise viele unbenutzte Sessions aktiv gehalten werden. Wenn ich aber das Timeout runtersetze, z.B. wieder auf 24 Minuten, wird ein Warenkorb nach 24 Minuten sozusagen 'geleert', da er nicht mehr identifiziert werden kann...

    Hat jemand eine Idee wie man dies besser lösen kann? Das quasi ein Session-Timeout nach 24 Minuten stattfindet, der Warenkorb aber trotzdem länger identifiziet werden kann?


    Bin dankbar für Tips

    Grüße Melly

  • #2
    Server clustern mit Austausch der Sessions

    Das quasi ein Session-Timeout nach 24 Minuten stattfindet, der Warenkorb aber trotzdem länger identifiziet werden kann?
    Woran willst du dann den User identifizieren?

    Eine andere Mögliche Zeit außer 24 Minuten und 3 Std. hast du nicht?

    Hast du soviele User, dass sich die Last bemerkbar macht?
    Christian

    Comment


    • #3
      Muss der Warenkorb denn in der Session gespeichert werden? Wärs nicht sinnvoller den irgendwie in Verknüpfung mitm User zu speichern? Dann wäre er ganz unabhängig von der Session und der Benutzer kann auch nächstes mal wieder auf seine Waren zugreifen.
      Ich glaube Amazon hat das auch so...

      Comment


      • #4
        Originally posted by fanderlf View Post
        Muss der Warenkorb denn in der Session gespeichert werden? Wärs nicht sinnvoller den irgendwie in Verknüpfung mitm User zu speichern? Dann wäre er ganz unabhängig von der Session und der Benutzer kann auch nächstes mal wieder auf seine Waren zugreifen.
        Ich glaube Amazon hat das auch so...
        Das würde den Zwang voraussetzen, dass der User sich vor dem betreten des Shops anmeldet
        Christian

        Comment


        • #5
          Hallo Christian,

          die 24 Minuten bzw. 3 Stunden waren nur ein Beispiel. Ich dachte dass es besser ist, wenn die Session-Dauer nicht alzu lang ist, aber ich möchte, dass der Warenkorb so in etwa 3 Stunden erhalten bleibt, am liebsten noch länger. 24 Minuten waren bei dem Session-Timeout voreingestellt, deshalb die 24 Minuten...

          Viele User werden nicht auf der Seite sein. Ist es in dem Fall ok, das Session-Timeout auf 3 Stunden raufzusetzen? Ich dachte dies soll möglichst vermieden werden...
          Zuletzt editiert von melly; 29.01.2011, 18:37.

          Comment


          • #6
            Ich verstehe die Herangehensweise nicht:

            Wenn du der Meinung bist, dass deine Kunden 3 Std. bzw. eine bestimmte Zeitspanne inaktiv sind, dann musst du den Timeout entsprechend ändern oder du vergraulst die Kunden, weil der Warenkorb leer ist.

            Wenn das zu Problemen auf deinem Server führt sind entsprechende Maßnahmen einzuleiten. Um das festzustellen ist der Server zu überwachen (Patrol). Die das erforderlichen Maßnahmen sind dann wohl jedoch nicht, den Timeout zu senken. Das sollten dann doch wohl Maßnahmen sein, wie Clustering, bessere Hardware o.a.
            Christian

            Comment


            • #7
              Hallo,

              um den Warenkorb unabhängig von einer Session zu speichern, bliebe auch noch die Möglichkeit, die Warenkorb-ID in einem Cookie abzulegen.
              Wird die Warenkorb-ID in einem Cookie UND in der Session gespeichert, kann man beides gegeneinander synchronisieren.

              Gruß Falk
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment

              Working...
              X