آموزش رایگان جاوا اسکریپت (JavaScript)

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

3م آبان 1403 محراب حسن زاده
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

در دنیای توسعه وب، نیاز به ذخیره‌سازی داده‌های کاربر در مرورگر به صورت محلی به‌طور مداوم در حال افزایش است. برای این منظور، Local Storage و Session Storage دو ابزار بسیار مهم هستند که جاوااسکریپت فراهم می‌کند. این ابزارها به شما این امکان را می‌دهند که داده‌ها را بدون نیاز به سرور در مرورگر کاربر ذخیره کنید. در این مقاله به بررسی نحوه کار با Local Storage و Session Storage می‌پردازیم و همچنین نکات مرتبط با سئو و بهینه‌سازی را نیز مرور خواهیم کرد.


اهداف این مقاله:

  • معرفی Local Storage و Session Storage

  • نحوه ذخیره‌سازی و بازیابی داده‌ها

  • تفاوت‌ها و کاربردهای آن‌ها

  • نکات بهینه‌سازی برای تجربه کاربری و سئو


مقدمه

Local Storage و Session Storage دو مکانیزم ذخیره‌سازی داده در مرورگر هستند که به شما این امکان را می‌دهند تا داده‌ها را به صورت کلید-مقدار (key-value) ذخیره کنید. هر دوی این‌ها توسط جاوااسکریپت قابل دسترسی هستند و به شما اجازه می‌دهند داده‌ها را بدون نیاز به سرور و به‌صورت سریع و ساده مدیریت کنید. تفاوت اصلی بین این دو در طول عمر داده‌ها است:

  • Local Storage: داده‌ها تا زمانی که به صورت دستی حذف نشوند، در مرورگر ذخیره می‌شوند. این داده‌ها پس از بستن مرورگر نیز باقی می‌مانند.

  • Session Storage: داده‌ها تنها برای مدت زمان یک جلسه (Session) مرورگر ذخیره می‌شوند و با بستن تب یا پنجره مرورگر حذف می‌شوند.


گام اول: کار با Local Storage

Local Storage یکی از رایج‌ترین روش‌های ذخیره‌سازی داده‌ها به‌صورت دائمی در مرورگر است. شما می‌توانید داده‌ها را در قالب کلید-مقدار ذخیره کرده و هر زمان که نیاز دارید آن‌ها را بازیابی کنید.


ذخیره‌سازی داده در Local Storage

برای ذخیره‌سازی داده در Local Storage از متد setItem استفاده می‌کنیم:



localStorage.setItem('username', 'JohnDoe');
localStorage.setItem('email', 'john.doe@example.com');


در این مثال، یک نام کاربری و ایمیل به صورت کلید-مقدار در Local Storage ذخیره می‌شود.


بازیابی داده از Local Storage

برای بازیابی داده از Local Storage از متد getItem استفاده می‌کنیم:



const username = localStorage.getItem('username');
const email = localStorage.getItem('email');
console.log(username); // Output: JohnDoe
console.log(email); // Output: john.doe@example.com


حذف داده از Local Storage

برای حذف یک کلید خاص از Local Storage از متد removeItem استفاده می‌کنیم:



localStorage.removeItem('username');


پاک کردن تمامی داده‌ها از Local Storage

برای پاک کردن تمامی داده‌های موجود در Local Storage از متد clear استفاده می‌کنیم:



localStorage.clear();


گام دوم: کار با Session Storage

Session Storage مانند Local Storage است، اما داده‌ها تنها برای مدت زمان یک جلسه مرورگر ذخیره می‌شوند. وقتی تب یا پنجره مرورگر بسته می‌شود، تمامی داده‌های ذخیره‌شده در Session Storage حذف می‌شوند.


ذخیره‌سازی داده در Session Storage



sessionStorage.setItem('sessionID', '123456');


در این مثال، یک مقدار با کلید sessionID در Session Storage ذخیره می‌شود.


بازیابی داده از Session Storage



const sessionID = sessionStorage.getItem('sessionID');
console.log(sessionID); // Output: 123456


حذف داده از Session Storage



sessionStorage.removeItem('sessionID');


پاک کردن تمامی داده‌ها از Session Storage



sessionStorage.clear();


گام سوم: ذخیره‌سازی داده‌های پیچیده (آبجکت‌ها)

Local Storage و Session Storage تنها داده‌ها را به صورت رشته (string) ذخیره می‌کنند. برای ذخیره کردن داده‌های پیچیده‌تر مثل آبجکت‌ها، ابتدا باید آن‌ها را به رشته JSON تبدیل کرده و سپس ذخیره کنیم.


ذخیره‌سازی آبجکت در Local Storage



const user = { name: 'John Doe', age: 30 };
localStorage.setItem('user', JSON.stringify(user));


بازیابی آبجکت از Local Storage



const storedUser = JSON.parse(localStorage.getItem('user'));
console.log(storedUser.name); // Output: John Doe
console.log(storedUser.age); // Output: 30


گام چهارم: تفاوت‌های Local Storage و Session Storage

ویژگی

Local Storage

Session Storage

طول عمر

دائمی، تا زمانی که به صورت دستی حذف نشود

موقتی، با بسته شدن تب یا پنجره مرورگر حذف می‌شود

ظرفیت ذخیره‌سازی

تا ۵ مگابایت (بسته به مرورگر)

تا ۵ مگابایت (بسته به مرورگر)

دامنه دسترسی

در تمام تب‌ها و پنجره‌های مرورگر قابل دسترسی است

فقط در تب یا پنجره فعلی مرورگر قابل دسترسی است

کاربرد

ذخیره‌سازی داده‌های طولانی‌مدت مثل تنظیمات کاربر

ذخیره‌سازی داده‌های موقتی مثل اطلاعات فرم


گام پنجم: نکات بهینه‌سازی و سئو

  • استفاده از Local Storage برای ذخیره‌سازی داده‌های مهم و طولانی‌مدت: داده‌هایی مانند تنظیمات کاربر، اطلاعات ورود یا پیکربندی‌ها که به صورت طولانی‌مدت نیاز به نگهداری دارند، باید در Local Storage ذخیره شوند.

  • استفاده از Session Storage برای ذخیره‌سازی داده‌های موقت: داده‌هایی مانند وضعیت فعلی کاربر در یک فرم یا اطلاعاتی که تنها برای مدت زمان یک جلسه کاربرد دارند، باید در Session Storage ذخیره شوند.

  • بهینه‌سازی تجربه کاربری: با استفاده از Local Storage و Session Storage می‌توانید تجربه کاربری بهتری ایجاد کنید. برای مثال، می‌توانید اطلاعات ورود کاربر را ذخیره کنید تا هر بار نیاز به ورود دوباره نداشته باشد یا اطلاعات فرم را نگه دارید تا پس از بستن مرورگر، دوباره قابل استفاده باشد.

  • پیشگیری از استفاده نادرست از حافظه مرورگر: به‌خصوص در مرورگرهایی که محدودیت حافظه دارند، بهتر است داده‌های غیرضروری را از Local Storage و Session Storage پاک کنید تا فضای مرورگر بهینه باقی بماند.

  • امنیت و ذخیره‌سازی داده‌ها: هرگز داده‌های حساس مانند رمزهای عبور یا اطلاعات کارت اعتباری را در Local Storage یا Session Storage ذخیره نکنید. این داده‌ها می‌توانند توسط اسکریپت‌های مخرب یا دسترسی‌های غیرمجاز به مرورگر در دسترس قرار گیرند.

  • استفاده از داده‌های JSON: همیشه سعی کنید داده‌های پیچیده را به فرمت JSON تبدیل کرده و در Local Storage ذخیره کنید. JSON به شما این امکان را می‌دهد که داده‌های آبجکتی و پیچیده‌تر را به‌راحتی ذخیره و بازیابی کنید.

  • بهبود سرعت و کاهش بار روی سرور: استفاده از Local Storage برای نگهداری موقت داده‌هایی که نیاز به ارسال مجدد به سرور ندارند، باعث کاهش درخواست‌ها به سرور و افزایش سرعت بارگذاری صفحات وب می‌شود. این موضوع می‌تواند به بهبود سئو و رتبه‌بندی سایت در گوگل کمک کند.


نتیجه‌گیری

Local Storage و Session Storage دو ابزار مفید برای ذخیره‌سازی داده‌ها در مرورگر هستند که به شما امکان می‌دهند داده‌ها را به صورت کلید-مقدار مدیریت کنید. با استفاده از این ابزارها می‌توانید تجربه کاربری بهتری فراهم کنید و عملکرد سایت را بهبود دهید. با توجه به ویژگی‌های هرکدام، می‌توانید تصمیم بگیرید که از Local Storage برای ذخیره‌سازی طولانی‌مدت و از Session Storage برای ذخیره‌سازی موقت استفاده کنید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها
1م آبان 1403

الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها

مطالعه بیشتر
آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها
4م آبان 1403

آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها

مطالعه بیشتر
آموزش کامل Super Global ها در PHP (متغیرهای سراسری)
27م تیر 1405

آموزش کامل Super Global ها در PHP (متغیرهای سراسری)

مطالعه بیشتر
آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination
29م مرداد 1402

آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination

مطالعه بیشتر
آموزش Emit در Vue.js | انتقال رویداد از کامپوننت فرزند به والد
28م آذر 1404

آموزش Emit در Vue.js | انتقال رویداد از کامپوننت فرزند به والد

مطالعه بیشتر
مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها
4م مهر 1403

مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها

مطالعه بیشتر
مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها
2م آبان 1403

مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها

مطالعه بیشتر
آموزش کامنت‌گذاری در PHP بر اساس استاندارد گوگل و Clean Code
21م خرداد 1405

آموزش کامنت‌گذاری در PHP بر اساس استاندارد گوگل و Clean Code

مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع
2م آبان 1403

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

مطالعه بیشتر
مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان
28م شهریور 1402

مفهوم متغیرها و انواع داده در جاوا اسکریپت: راهنمای جامع برای مبتدیان

مطالعه بیشتر
استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل
16م آبان 1403

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

مطالعه بیشتر
Lifecycle Hooks در Vue.js | مدیریت چرخه حیات کامپوننت‌ها با مثال کاربردی
29م آذر 1404

Lifecycle Hooks در Vue.js | مدیریت چرخه حیات کامپوننت‌ها با مثال کاربردی

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد