النقاط الشائعة بين SessionStorage و LocalStorage و Cookies:
يتم حفظها جميعًا على المتصفح ولها نفس الأصل.
الاختلافات بين SessionStorage و LocalStorage و Cookies:
يتم إجراء بيانات ملفات تعريف الارتباط دائمًا في طلب HTTP من نفس الأصل (حتى لو لم يكن مطلوبًا) ، أي يتم تمرير ملفات تعريف الارتباط بين المتصفح والخادم. لن يقوم SessionStorage و LocalStorage تلقائيًا بإرسال البيانات إلى الخادم وسيتم حفظها محليًا فقط. تحتوي بيانات ملفات تعريف الارتباط أيضًا على مفهوم المسار (المسار) ، والذي يمكن أن يقيد ملفات تعريف الارتباط من الانتماء إلى مسار معين.
حد حجم التخزين يختلف أيضًا. لا يمكن أن تتجاوز بيانات ملفات تعريف الارتباط 4K. في الوقت نفسه ، نظرًا لأن ملفات تعريف الارتباط يتم تنفيذ كل طلب HTTP ، فإن ملفات تعريف الارتباط مناسبة فقط لتخزين البيانات الصغيرة جدًا ، مثل معرفات الجلسة. تحتوي SessionStorage و LocalStorage أيضًا على قيود في حجم التخزين ، ولكنها أكبر بكثير من ملفات تعريف الارتباط ويمكن أن تصل إلى 5 أمتار أو أكبر.
فترة صحة البيانات مختلفة. SessionStorage: صالح فقط قبل إغلاق نافذة المتصفح الحالي ، لذلك من المستحيل بشكل طبيعي الاستمرار ؛ LocalStorage: دائمًا صالح ، ويغلق النافذة أو المتصفح ، لذلك يتم استخدامه كبيانات ثابتة ؛ تكون ملفات تعريف الارتباط صالحة فقط حتى وقت انتهاء صلاحية ملف تعريف الارتباط ، حتى لو تم إغلاق النافذة أو المتصفح.
نطاقات مختلفة ، لا تتم مشاركة SessionStorage في نوافذ متصفح مختلفة ، حتى في نفس الصفحة ؛ تتم مشاركة LocalStorage في جميع النوافذ المتماثلة ؛ تتم مشاركة ملفات تعريف الارتباط في جميع النوافذ المتماثلة.
يدعم تخزين الويب آليات إشعار الأحداث ، والتي يمكن أن ترسل إشعارات تحديثات البيانات للمستمعين.
واجهة API الخاصة بتخزين الويب أكثر ملاءمة للاستخدام.
يمكن أن تتحكم طريقة LocalStorage المغلفة في عدد البيانات المخزنة والوقت
define (function (require) {var $ = require ('jQuery') ؛ var cache = {} ؛ function support () {var _t =! (typeof window.localStorage === 'undefined') ؛ return _t ؛} $. localStorage: window.localStorage ، memqueue: (function () {if (support ()) {var jsonstr = window.localStorage.getItem ('lruconfig') ؛ return js -bonst؟ url) {if (true =) this.memqueue.keys [key] .life /1000 ؛ _O = this.memqueue. } set: appid ، url) {if (stude =) {var key = appid + ':' + url ؛ this.localStorage.RemoveItem (lrukey) ؛ (this.memqueue.Objs.length> this.config.size) {var lrukey = this.getlru () ؛ هذا. this.lru (مفتاح) ؛ = memqueue.OBJS ؛ _o [i] Date (). GetTime () ، "الحياة" () S.Times) {return -1 ؛ هذا. }) ؛كيفية استخدام
var cache = require ('cache') ؛ // set value cache.cache.set ('ip' ، 'url your url' ، value) ؛ // get value cache.cache.get ('ip')