aierong [งานต้นฉบับ]
เป็นครั้งแรกที่สร้างตะกร้าสินค้าสำหรับไซต์ BToC ฉันสรุปวิธีการจัดเก็บข้อมูลในตะกร้าสินค้า
วิธีที่ 1: ใช้เซสชัน
ข้อมูลประเภทใดก็ได้ที่สามารถเก็บไว้ในเซสชั่นได้ ผู้ใช้แต่ละคนมี ID เซสชั่นที่ไม่ซ้ำกัน ซึ่งจะใช้เพื่อแยกแยะข้อมูลเซสชั่นรถเข็นช็อปปิ้งของผู้ใช้ที่แตกต่างกัน ผู้ใช้จำนวนมากที่ใช้ตะกร้าสินค้า อันดับแรก เซสชันจะมีข้อบกพร่องเล็กน้อย โดยอาศัยคุกกี้ในการสื่อสารกับผู้ใช้ ลำบาก
แน่นอนใน ASP มีสองวิธีในการบันทึกข้อมูลเซสชันใน NET วิธีหนึ่งคือการกำหนดเซิร์ฟเวอร์อื่นเพื่อจัดเก็บข้อมูลเซสชัน ซึ่งสามารถแบ่งปันค่าใช้จ่ายในการดำเนินการของเว็บเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ
อีกประการหนึ่งคือการจัดเก็บข้อมูลเซสชันใน MS SQL มีการใช้งาน MS SQL โดยใช้ตารางชั่วคราวใน
เครื่อง ID นี้เพื่อแยกแยะข้อมูลเซสชันที่แตกต่างกันของผู้ใช้ที่แตกต่างกัน อย่างไรก็ตาม ฉันไม่แนะนำวิธีนี้ การสร้างและลบตารางชั่วคราวในฐานข้อมูลบ่อยครั้งจะทำให้ฐานข้อมูลมีค่าใช้จ่ายมากเกินไป
วิธีที่ 2: ใช้ตาราง (ShoppingCart) ในฐานข้อมูล
วิธีการนำไปใช้ที่ฉันชอบคือ
ตารางมีหลายฟิลด์พื้นฐาน
รหัสตะกร้าสินค้า CartId (ไม่ซ้ำกัน)
รหัส รหัสผลิตภัณฑ์ (ไม่ซ้ำกัน)
ปริมาณสินค้าที่ซื้อโดยผู้ใช้ Qty
CreateDate เวลาที่สร้างตะกร้าสินค้า
ฟิลด์ CartId ของตารางนี้คือ ID ของตะกร้าสินค้าที่แยกแยะผู้ใช้ที่แตกต่างกัน หากผู้ใช้เข้าสู่ระบบ คุณสามารถจัดเก็บ ID ของชื่อเข้าสู่ระบบของผู้ใช้ที่เข้าสู่ระบบไว้ในตารางได้ ผู้ใช้ไม่ได้เข้าสู่ระบบและใช้ตะกร้าสินค้า
คุณสามารถให้ GUID (Globally Unique Identifier) เป็นรหัสตะกร้าสินค้า
ได้ วิธีนี้มีข้อบกพร่องบางประการ ประการแรกจะทำให้ข้อมูลที่ไม่ถูกต้องจำนวนมาก ดังที่เราทุกคนทราบกันดีว่าผู้คนที่ใช้ตะกร้าสินค้าอาจไม่ได้ชำระเงินและซื้อสินค้าในที่สุด แต่หากต้องการใช้ตะกร้าสินค้า
คุณต้องแทรกข้อมูลที่เกี่ยวข้องลงในตาราง (ShoppingCart) ทันทีที่ผู้ใช้ที่ไม่ได้เข้าสู่ระบบออกจากไซต์ ข้อมูลของเขาในตารางจะกลายเป็นกองข้อมูลที่สูญเปล่า เพราะเมื่อเขาเข้าสู่ระบบ คราวหน้าเราจัดสรร
รหัสตะกร้าสินค้าใหม่ให้เขา หากมีข้อมูลขยะ เราจะต้องดูแลรักษาตารางนี้เป็นระยะๆ เราสามารถเขียนกระบวนการเพื่อล้างข้อมูลขยะได้ (โดยใช้ช่อง CreateDate และ CartId เพื่อกำหนด ข้อมูลไม่ถูกต้อง) คุณสามารถเรียกมันด้วยตนเองได้ หากคุณต้องการทำโดย หากเรียกใช้ MS SQL ในนามของเรา คุณสามารถตั้งค่า JOB ได้ และ JOB จะเรียกกระบวนการเพื่อล้างข้อมูลขยะโดยอัตโนมัติ
เมื่อพูดถึงข้อบกพร่องของการดึงเราควรพูดถึงข้อดีของวิธีนี้
1. ใช้ทรัพยากรระบบน้อยลง เราสามารถวางฐานข้อมูลในคอมพิวเตอร์เครื่องหนึ่งและเว็บเซิร์ฟเวอร์ในคอมพิวเตอร์อีกเครื่องหนึ่งเพื่อให้ทรัพยากรระบบสามารถใช้งานได้อย่างเต็มที่
2. ข้อมูลในตะกร้าสินค้าสามารถเก็บรักษาไว้ได้อย่างมีประสิทธิภาพ เราสามารถจินตนาการได้ว่าลูกค้าออกจากสถานีช็อปปิ้งอย่างกะทันหันด้วยเหตุผลอื่น (เช่น เหตุขัดข้อง ฯลฯ) ในขณะที่ช้อปปิ้งข้อมูลของเขาในตะกร้าสินค้าจะ
ถูกเก็บรักษาไว้
อย่างมีประสิทธิภาพ เมื่อเขาเข้าสู่ระบบครั้งต่อไป เวลาตะกร้าสินค้าจะถูกบันทึกไว้นอกจากนี้ยังมีข้อมูลที่ถูกเก็บไว้ครั้งล่าสุดเพื่อป้องกันไม่ให้ผู้ใช้ซื้อสินค้าอีกครั้ง (ฟังก์ชันนี้ใช้ได้เฉพาะกับตะกร้าสินค้าของผู้ใช้ที่เข้าสู่ระบบเท่านั้น) หากมีการใช้เซสชันเพื่อใช้งาน
ตะกร้าสินค้า เมื่อผู้ใช้ทั้งหมดออกจากไซต์ ข้อมูลทั้งหมดในตะกร้าสินค้าจะหายไป ความล้มเหลวนั้น
ง่ายมาก ฉันเพิ่งสรุปสิ่งเหล่านี้เพราะฉันเพิ่งติดต่อกับ ASP NET ฉันไม่ค่อยมีความรู้ในด้านต่างๆ มากนัก อาจมีวิธีอื่นๆ ในการใช้ตะกร้าสินค้า ฉันหวังว่าคุณจะช่วยแนะนำฉันได้ ขอบคุณทุกคน