এইচটিএমএল 5 স্থানীয় সঞ্চয় বনাম সেশন স্টোরেজ


560

কেবলমাত্র বর্তমান উইন্ডোটিতে অবিচল থাকা এবং স্কোপযুক্ত হওয়া ছাড়াও সেশন স্টোরেজ ওভার লোকাল স্টোরেজের কোনও সুবিধা (পারফরম্যান্স, ডেটা অ্যাক্সেস ইত্যাদি) রয়েছে কি?


15
@ রবার্ট - আমি বিশ্বাস করি আপনি ভুল বলেছেন। ডাব্লু 3.org / টিআর / ওয়েবেস্টোরেজ সেশন থেকে স্টোরেজটি "শীর্ষ-স্তরের ব্রাউজিং প্রসঙ্গ" এ স্কোপ করা হয়, যার অর্থ এটি প্রতিটি ব্রাউজারের ট্যাব / উইন্ডোতে স্বতন্ত্র। লোকালস্টোরেজ মূলতে স্কোপ করা হয়, তবে এর অর্থ এটি একই উত্সের সমস্ত পৃষ্ঠায় ভাগ করা হয়।
ব্রুফা

5
পুনরায়: পারফরম্যান্স jsperf.com/localstores-vs-sessionstores
কল্লিন

উত্তর:


811

লোকালস্টোরেশন এবং সেশনসেটেজ উভয়ই স্টোরেজ প্রসারিত করে । "অবিচলিত" এর উদ্দেশ্য ছাড়া তাদের মধ্যে কোনও পার্থক্য নেই sessionStorage

তা হল, সঞ্চিত ডেটা localStorage স্পষ্টভাবে মুছে ফেলা পর্যন্ত স্থির থাকে । করা পরিবর্তনগুলি সংরক্ষিত হয় এবং সাইটে বর্তমান এবং ভবিষ্যতের সব ভিজিটের জন্য উপলব্ধ।

এর জন্য sessionStorage, পরিবর্তনগুলি কেবলমাত্র প্রতিটি ট্যাব উপলভ্য। করা পরিবর্তনগুলি সংরক্ষণ করা হয় এবং এটি বন্ধ না হওয়া অবধি সেই ট্যাবে বর্তমান পৃষ্ঠার জন্য উপলব্ধ । এটি একবার বন্ধ হয়ে গেলে, সঞ্চিত ডেটা মুছে ফেলা হয়।


17
এখানে একটি বিস্তৃত আলোচনা রয়েছে যা আপনি এখানে সহায়ক হিসাবে খুঁজে পেতে পারেন: stackoverflow.com/questions/19867599/…
এড সাইকস

13
যদি আপনি HTTP অধীনে সংগ্রহস্থলে কিছু ডেটা সংরক্ষণ, আপনি HTTPS এ এটি পুনরুদ্ধার করতে সক্ষম হবে না
মার্ক Thien

আমি এটি Chrome v41.x এ পরীক্ষা করেছি এবং দেখে মনে হয় যে https সম্পর্কে উপরের বিবৃতিটি সত্য নয়: লোকালস্টোরেজ তার সঞ্চিত ডেটা ধরে রেখেছে।
সিসিসি

36
পৃষ্ঠা পুনরায় লোড ও পুনরুদ্ধার করে সেশনসটরেজ বেঁচে থাকে তবে একটি নতুন ট্যাব / উইন্ডো খোলার ফলে একটি নতুন সেশন শুরু হবে।
প্যাট্রিক

160

পার্থক্যটি হ'ল লোকালস্টোরেশনের আলাদা মেয়াদোত্তীর্ণ সময় রয়েছে, sessionStorageকেবল তখনই অ্যাক্সেসযোগ্য হবে এবং এটি তৈরি করা উইন্ডোটি খোলা রয়েছে।
localStorageযতক্ষণ না আপনি এটি মুছবেন বা ব্যবহারকারী এটি মুছবেন ততক্ষণ স্থায়ী হয়।
বলতে যা আপনাকে একটি লগইন ব্যবহারকারীর নাম ও পাসওয়ার্ড ব্যবহার করতে চাইবেন বাঁচাতে চেয়েছিলেন sessionStorageউপর localStorageনিরাপত্তার কারণে (অর্থাৎ। অন্য ব্যক্তির পরবর্তী সময়ে তাদের অ্যাকাউন্ট অ্যাক্সেস করছেন)।
তবে আপনি যদি তাদের মেশিনে কোনও ব্যবহারকারীর সেটিংস সংরক্ষণ করতে চান তবে আপনি সম্ভবত এটি চাইবেন localStorage। সর্বেসর্বা:

localStorage- দীর্ঘমেয়াদী ব্যবহারের জন্য ব্যবহার করুন।
sessionStorage- যখন আপনার অস্থায়ীভাবে পরিবর্তন হয় এমন কিছু বা সঞ্চয় করার প্রয়োজন হয় তখন ব্যবহার করুন


103

স্থানীয় এবং সেশন স্টোরেজের মধ্যে পার্থক্য বুঝতে সহায়ক হতে পারে এমন আরও কয়েকটি পয়েন্ট

  1. স্থানীয় স্টোরেজ এবং সেশন স্টোরেজ উভয়ই ডকুমেন্ট উত্সের জন্য স্কোপ করা হয়

    https://mydomain.com/
    http://mydomain.com/
    https://mydomain.com:8080/

    উপরের সমস্ত URL গুলি একই স্টোরেজ ভাগ করে নেবে না । (ওয়েব পৃষ্ঠার বিজ্ঞপ্তির পথটি ওয়েব স্টোরেজকে প্রভাবিত করে না)

  2. একই ট্যাবলেটে একই উত্স নীতি সহ নথির জন্য সেশন স্টোরেজও আলাদা, সুতরাং দুটি ভিন্ন ট্যাবে একই ওয়েব পৃষ্ঠা একই সেশন স্টোরেজ ভাগ করতে পারে না

  3. স্থানীয় এবং সেশন উভয় স্টোরেজ ব্রাউজার বিক্রেতাদের দ্বারা স্কোপ করা হয় । সুতরাং IE দ্বারা সংরক্ষিত স্টোরেজ ডেটা ক্রোম বা এফএফ দ্বারা পড়া যায় না।

আশাকরি এটা সাহায্য করবে.


3
না, HTTP এবং https এর মধ্যে একই সেশন স্টোরেজ ভাগ করে তবে স্থানীয় স্টোরেজটি তা করে না।
শাহদাত

5
আপনি যদি প্রথমে https উত্সে সেশন স্টোরেজ সেট করে থাকেন তবে এটি HTTP এ উপলব্ধ হবে তবে আপনি যদি HTTP তে সেশন স্টোর তৈরি করেন তবে HTTP- তে উপলব্ধ হবে না
শাহদাত

4
@ শাহাদাত, আপনার অর্থ কি "তাহলে https এ পাওয়া যাবে না" (লক্ষ্য করুন)?
ড্যানিয়েল ওয়ার্নার

3
@ ড্যানিয়েল ওয়ার্নার হ্যাঁ, আপনি যদি HTTP তে সেশন স্টোর তৈরি করেন তবে https এ পাওয়া যাবে না।
শাহদাত

28

মধ্যে মূল পার্থক্য localStorageএবং sessionStorageযে sessionStorageট্যাব প্রতি অনন্য। আপনি যদি ট্যাবটি বন্ধ করেন তবে sessionStorageমোছা হয়ে যায় localStorage। এছাড়াও আপনি ট্যাবগুলির মধ্যে যোগাযোগ করতে পারবেন না :)

আরেকটি যে সূক্ষ্ম ফারাক Safari তে উদাহরণস্বরূপ (8.0.3) localStorage2551 ট অক্ষরের একটি সীমা আছে কিন্তু sessionStorageহয়েছে সীমাহীন সঞ্চয়স্থান

ক্রোম (v43) উপর উভয় localStorageএবং sessionStorage5101 ট অক্ষর (সাধারণ / ছদ্মবেশী মোডে মধ্যে কোনো পার্থক্য) সীমাবদ্ধ

উভয় ফায়ারফক্সে localStorageএবং sessionStorage5120 কে অক্ষরে সীমাবদ্ধ (সাধারণ / প্রাইভেট মোডের মধ্যে কোনও পার্থক্য নেই)

যাই হোক না কেন গতিতে কোনও পার্থক্য নেই :)

মোবাইল সাফারি এবং মোবাইল ক্রোমে সমস্যা রয়েছে, প্রাইভেট মোড সাফারি এবং ক্রোমের সর্বাধিক 0KB স্থান রয়েছে


1
5101 কে অক্ষরে সীমাবদ্ধ? সুতরাং .. 5.101 মিলিয়ন অক্ষর?
জাজে

@ জজে হ্যাঁ, 1 টি অক্ষর সাধারণত 1 বাইট হয় তাই 5 মিলিয়ন অক্ষর 5Mb মূল্য সঞ্চয়স্থানের হয়।
বাসিম খাজওয়াল

@ বাসিমখাজওয়াল এটি 5 এমবি। বাইটস, বিটস নয়।
ইয়েতি

আপনি দয়া করে যা উল্লেখ করেছেন তাতে উত্স যোগ করতে পারেন?
মুকুস

@ মুকুস, এর কোনও উত্স নেই, আমি নিজেই পরীক্ষা চালিয়েছি এবং লোকালস্টোরিজ থাকার কারণে প্রাইভেট মোড সাফারি নিয়ে একটি সমস্যা হয়েছিল তবে সেখানে স্থান নেই এবং আমার পলফিলটি স্থানীয় স্টোরেজের অস্তিত্বের কারণে ট্রিগার করতে পারে না, তবে স্ক্রিপ্ট ব্যর্থ হওয়ায় এটি সংরক্ষণ করতে পারেনি সেখানে কিছু। আপনি এই সরঞ্জামটি ব্যবহার করেও পরীক্ষা করতে পারেন - dev-test.nemikor.com/web-storage/support-test
Eek

17

sessionStorageএকই হিসাবে localStorageএটি কেবলমাত্র একটি সেশনের জন্য ডেটা সঞ্চয় করে এবং ব্যবহারকারী এটি তৈরি করা ব্রাউজার উইন্ডোটি বন্ধ করলে এটি সরানো হবে।


10

পারফরম্যান্স অনুসারে, আমার (অপরিশোধিত) পরিমাপের 1000 রাইটিং এবং রিডের কোনও পার্থক্য পাওয়া যায় নি

সুরক্ষার ভিত্তিতে, স্বজ্ঞাতভাবে মনে হবে লোকালস্টোরটি সেশনস্টোরের আগে বন্ধ হয়ে যেতে পারে, তবে এর কোনও ठोस প্রমাণ নেই - সম্ভবত অন্য কেউ করেন?

ক্রিয়ামূলক বুদ্ধিমান, উপরে ডিজিটালফ্রেশ সহ সম্মত


1
পৃষ্ঠার লোড কর্মক্ষমতা সম্পর্কিত: সেশনস্টোরেজ এবং লোকালস্টোরেজ উভয়ই পৃষ্ঠা-লোড-রেন্ডার চক্র থেকে শুরু এবং জনবহুল হয়। সুতরাং প্রাথমিক পৃষ্ঠার লোড টাইমের টোলটি ব্রাউজারের মধ্যে থেকে পরিমাপযোগ্য নয়।
মিরকো

6

ইয়া সেশন স্টোরেজ এবং স্থানীয় স্টোরেজ আচরণের ক্ষেত্রে একইরূপে স্থানীয় স্টোরেজ ডেটা সংরক্ষণ করবে যতক্ষণ না ব্যবহারকারী ক্যাশে এবং কুকিজ এবং সেশন স্টোরেজ ডেটা সিস্টেমের মধ্যে ধরে রাখবে যতক্ষণ না আমরা সেশন বন্ধ করি, এবং যতক্ষণ না আমরা বন্ধ করি সেশন স্টোরেজ তৈরি উইন্ডো।


5

আমার মতে স্থানীয় স্টোরেজের তুলনায় সেশন স্টোরেজের সুবিধাটি হ'ল এটির ফায়ারফক্সে সীমাহীন ক্ষমতা রয়েছে এবং অধিবেশনটির চেয়ে বেশি দিন ধরে চলবে না। (অবশ্যই এটি আপনার লক্ষ্য কী তার উপর নির্ভর করে))


2

স্থানীয় স্টোরেজ: এটি মেয়াদোত্তীর্ণ তারিখ ছাড়াই ব্যবহারকারীর তথ্য ডেটা সংরক্ষণ করে।

//Set the value in a local storage object
localStorage.setItem('name', myName);

//Get the value from storage object
localStorage.getItem('name');

//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege

সেশন স্টোরেজ: এটি কোনও স্থানীয় ব্যবহারকারীর দ্বারা ব্রাউজার উইন্ডোজ বন্ধ হয়ে গেলে সমস্ত উইন্ডো মুছে ফেলা ব্যতীত স্থানীয় স্টোরেজ তারিখের মতো।

//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";

আরও পড়ুন ক্লিক করুন


2
  • sessionStorage পৃষ্ঠা সেশনের সময়কালের জন্য উপলব্ধ প্রতিটি প্রদত্ত উত্সের জন্য পৃথক স্টোরেজ অঞ্চল বজায় রাখে (যতক্ষণ না ব্রাউজার খোলা থাকে, পৃষ্ঠা পুনরায় লোড এবং পুনরুদ্ধার সহ)

  • localStorage একই জিনিসটি করে তবে ব্রাউজারটি বন্ধ হয়ে গেলে এবং পুনরায় খোলার পরেও তা অবিরত থাকে।

আমি এটি https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API থেকে নিয়েছি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.