حافظه موقت
برای محاسبه هایی که پردازش سنگینی دارند و یا برای جلوگیری از تکرار ارتباط با پایگاه داده (برای دریافت داده هایی که اطلاعات آن به ندرت تغییر میکند)، گاها نیاز هست تا نتیجه ی محاسبه و یا نتیجه ی اطلاعات دریافت شده، ذخیره شود . برای این منظور میتوانید از کلاس packages\base\cache
استفاده کنید .
برای هر داده که ذخیره می شود،میتوان مدت زمان انقضا مشخص کرد و داده ها پس از گذشت زمان معین به صورت خودکار پاک و دیگر در دسترس نخواهند بود . ذخیره سازی داده ها در این کلاس به سه روش انجام میپذیرد .
- ذخیره داده ها در فایل
- ذخیره داده ها در پایگاه داده (Database)
- ذخیره داده ها با استفاده از Memcache
مشخص کردن روش ذخیره داده
برای اطلاعات بیشتر به صفحه ی تنظیمات مراجعه کنید
با افزودن یک تنظیم در تنظیمات با عنوان packages.base.cache
و یکی از مقادیر file
(برای ذخیره داده ها در فایل)، memcache
(ذخیره داده ها با استفاده از memcache) و یا database
(ذخیره داده ها در پایگاه داده) میتوانید روش ذخیره سازی را مشخص کنید .
اگر روش ذخیره سازی مشخص نشده باشد به صورت خودکار از روش ذخیره سازی داده ها در فایل استفاده خواهد شد .
استفاده از هر سه روش یکسان خواهد بود و کلاس cache
به صورت خودکار داده ها را با روش مشخص شده ذخیره و مدیریت خواهد کرد .
فراخوانی و متد های این کلاس هم به صورت ایستا static
و هم به صورت نمونه سازی و شئ گرا میسر است .
ذخیره داده ها
cache::set(name, value, timeout);
این متد در پارامتر اول نام/کلید دلخواه، در پارامتر دوم داده را دریافت میکند . در پارامتر سوم میتوانید مدت زمان انقضای این ذخیره سازی را به صورت ثانیه مشخص کنید . توجه داشته باشید نامی که در پارامتر اول این متد مشخص میکنید، باید به صورت یکتا در کل برنامه باشد، در غیر اینصورت داده های جدید جایگزین داده های قبلی خواهد شد .