ใน node.js เรามักจะใช้แพ็คเกจ Express-Session เพื่อใช้และจัดการเซสชันและบันทึกสถานะเซสชันระหว่างเซิร์ฟเวอร์และเบราว์เซอร์ไคลเอนต์ ดังนั้นฉันจะบรรลุเวลาหมดอายุของเซสชันได้อย่างไรเมื่อผู้ใช้รีเฟรชหน้าปัจจุบันหรือคลิกปุ่มบนหน้า คล้ายกับสถานะเซสชันใน ASP.NET ตราบใดที่หน้าเว็บยังคงทำงานอยู่ในช่วงระยะเวลาหนึ่งเซสชันจะไม่หมดอายุ ฟังก์ชั่นนี้สามารถทำได้ผ่านรหัสต่อไปนี้ เราเพิ่มมิดเดิลแวร์ต่อไปนี้ในรหัส Node.js:
// ใช้มิดเดิลแวร์นี้เพื่อรีเซ็ตเวลาหมดอายุของคุกกี้ // เมื่อผู้ใช้กดหน้าทุก timeapp.use (ฟังก์ชั่น (req, res, ถัดไป) {req.session._garbage = วันที่ (); req.session.touch (); next ();});ด้วยวิธีนี้ทุกครั้งที่มีการร้องขอมิดเดิลแวร์จะปรับเปลี่ยนเวลาหมดอายุของเซสชันเพื่อให้ได้ผลที่คาดหวัง
จากนั้นเพิ่มการใช้เซสชันในรหัส:
App.use (เซสชัน ({Secret: 'Test', Resave: False, Saveuninitialized: จริง, คุกกี้: {maxage: 1000*60*60 // การหมดอายุเซสชันเริ่มต้นถูกตั้งค่าเป็น 1 ชั่วโมง}, ร้านค้า: memcachedstore ใหม่ ({โฮสต์: ['127.0.0.1:9000'เซสชันข้างต้นใช้ memcacheed เป็นวิธีการจัดเก็บของเซสชัน สำหรับวิธีการใช้ memcached โปรดดูที่อยู่นี้ใน gitHub https://github.com/balor/connect-memcached
แน่นอนคุณยังสามารถใช้วิธีการจัดเก็บเซสชันอื่น ๆ เช่น MemoryStore, Redis, MongoDB ฯลฯ และวิธีการใช้งานคล้ายกัน
บทความข้างต้น "วิธีการใช้งานของ node.js การรีเฟรชเวลาหมดอายุ" เป็นเนื้อหาทั้งหมดที่ใช้ร่วมกันโดยตัวแก้ไข ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น