จุดทั่วไประหว่าง SessionStorage, LocalStorage และคุกกี้:
พวกเขาทั้งหมดจะถูกบันทึกไว้ในเบราว์เซอร์และมีต้นกำเนิดเหมือนกัน
ความแตกต่างระหว่าง SessionStorage, LocalStorage และคุกกี้:
ข้อมูลคุกกี้จะถูกนำไปใช้ในคำขอ HTTP แบบต้นกำเนิดเดียวกันเสมอ (แม้ว่าจะไม่จำเป็น) เช่นคุกกี้จะถูกส่งผ่านไปมาระหว่างเบราว์เซอร์และเซิร์ฟเวอร์ SessionStorage และ LocalStorage จะไม่ส่งข้อมูลไปยังเซิร์ฟเวอร์โดยอัตโนมัติและจะถูกบันทึกไว้ในเครื่องเท่านั้น ข้อมูลคุกกี้ยังมีแนวคิดของเส้นทาง (เส้นทาง) ซึ่งสามารถ จำกัด คุกกี้จากการเป็นของเส้นทางที่แน่นอน
ขีด จำกัด ขนาดการจัดเก็บก็แตกต่างกัน ข้อมูลคุกกี้ต้องไม่เกิน 4K ในเวลาเดียวกันเนื่องจากคุกกี้ดำเนินการทุกคำขอ HTTP คุกกี้จึงเหมาะสำหรับการจัดเก็บข้อมูลขนาดเล็กมากเช่นตัวระบุเซสชัน SessionStorage และ LocalStorage ยังมีข้อ จำกัด ขนาดการจัดเก็บ แต่มีขนาดใหญ่กว่าคุกกี้มากและสามารถเข้าถึง 5 เมตรหรือใหญ่กว่า
ระยะเวลาความถูกต้องของข้อมูลแตกต่างกัน SessionStorage: ใช้ได้เฉพาะก่อนปิดหน้าต่างเบราว์เซอร์ปัจจุบันดังนั้นจึงเป็นไปไม่ได้ที่จะคงอยู่โดยธรรมชาติ LocalStorage: ใช้ได้เสมอและปิดหน้าต่างหรือเบราว์เซอร์ดังนั้นจึงใช้เป็นข้อมูลถาวร คุกกี้ใช้ได้จนถึงเวลาหมดอายุของคุกกี้แม้ว่าหน้าต่างหรือเบราว์เซอร์จะปิด
ขอบเขตที่แตกต่างกัน SessionStorage ไม่ได้แชร์ในหน้าต่างเบราว์เซอร์ที่แตกต่างกันแม้ในหน้าเดียวกัน LocalStorage มีการแชร์ในหน้าต่างที่คล้ายคลึงกันทั้งหมด คุกกี้มีการแชร์ในหน้าต่างที่คล้ายคลึงกันทั้งหมด
Web Storage รองรับกลไกการแจ้งเตือนเหตุการณ์ซึ่งสามารถส่งการแจ้งเตือนการอัปเดตข้อมูลไปยังผู้ฟัง
อินเทอร์เฟซ API ของ Web Storage นั้นสะดวกกว่าในการใช้งาน
วิธีการจัดเก็บข้อมูล locaptorage ที่ห่อหุ้มสามารถควบคุมจำนวนข้อมูลที่เก็บไว้และเวลา
กำหนด (ฟังก์ชั่น (ต้องการ) {var $ = reghed ('jQuery'); var cache = {}; ฟังก์ชั่นการสนับสนุน () {var _t =! localstorage: window.localstorage, memqueue: (function () {if (support ()) {var jsonstr = window.localstorage.getItem ('lruconfig'); return jsonstr? json.parse (jsonstr): {keys: {}, objs: []}; ฟังก์ชั่น (appid, url) {ถ้า true == support ()) {var key = appid + ':' + url; this.memqueue.keys [key] .life /1000; var _o = this.memqueue.objs [i]; }}, set: function (appid, url, value) {ถ้า true == support ()) {var key = appid + ':' + url; this.localstorage.removeitem (lrukey);} // เริ่มต้นตั้งค่านี้ // สำหรับความเข้ากันได้ให้ใช้วิธีการต่อไปนี้เพื่อตั้งค่าหาก (typeof this.memqueue.objs! = 'undefined' && this.memqueue.objs (this.memqueue.objs.length> = this.config.size) {var lrukey = this.getlru (); <this.memqueue.objs.length; this.lru (คีย์); _o = memqueue.objs; _o [i] .times + 1; 0, 'Time': (New Date ()). getTime (), 'ชีวิต': (วันที่ใหม่ ()). getTime ()}; if (f.times> s.times) {return -1; _to; null;}});วิธีใช้
var cache = reghed ('cache'); // set value cache.cache.set ('ip', 'url ของคุณเอง', value); // รับ value cache.cache.get ('ip')