کتابخانه ی Stash باعث می شود که کد های شما سریع تر اجرا شوند. بعضی کار ها در پروژه ها وجود دارند که نتایج مشابهی را به همراه دارند،از جمله این کار ها مانند: نمایش داده های پایگاه داده یا تماس با API های خارجی.این کار ها زمان زیادی را می گیرید تا نتیجه ای را برگرداند ولی در اصل شما با تکنیک های موجود می توانید این نتایج مشابه را کوتاه کنید و زمان اضافی خود را در بهبود سئو ی سایت خود صرف نمایید وب مستر ها دوست دارند نتایج مشابه را در طول دوره های کوتاه مدت بر گردانند و پاسخ های تکراری را در فرصت کم دریافت نمایند. این کار موجب می شود تا نتایج ذخیره شده بیشتر شود و در موقع فراخوانی بعدا به آنها رجوع شود.
$pool = $this->cachePool;
// Get a Stash object from the cache pool.
$item = $pool->getItem("/user/{$userId}/info");
// Get the data from it, if any happens to be there.
$userInfo = $item->get();
// Check to see if the cache missed, which could mean that it either
// didn't exist or was stale.
if($item->isMiss())
{
// Run the relatively expensive code.
$userInfo = loadUserInfoFromDatabase($userId);
// Set the new value in $item.
$item->set($userInfo);
// Store the expensive code so the next time it doesn't miss.
$pool->save($item)
}
کتابخانه ی Stash دارای سه جزء و کلاس اصلی است: کلاس Pool که گروه خاصی از اشیاء ذخیره شده را نشان می دهد، کلاس Item که دسترسی به اشیاء خاص را فراهم می کند و مجموعه ای از کلاس های Driver که اجازه می دهد کتابخانه ی Stash با سیستم های ذخیره سازی مانند کش ارتباط برقرار کند.
هر کلاس Driver مقدار دهی شده و سپس به کلاس pool منتقل می شود.
توسعه دهندگان قادر هستند تا با ترکیب کلاس ها و متد های Driver یک Composite Driver جدید بسازید و از مجموعه ی آنها استفاده نمایید.
کلاس pool اجازه می دهد تا توسعه دهندگان و برنامه نویسان برای انجام تعدادی از وظایف یک درخواست بفرستند و بقیه ی درخواست ها از طریق کش شدن درخواست اجرا شود. کلاس pool همچنین می تواند مورد برای ایجاد اشیاء نیز مورد استفاده قرار بگیرد.
علاوه بر این هر کلاس Item نشان دهنده ی یک واحد در داخل حافظه پنهان است. این یک کلید و مقدار منحصر به فرد است، به این معنی که هر دو مورد ایجاد شده از همان کلاس pool شامل همان مقدار است. یک مقدار می تواند یک واحد ذخیره سازی را دریافت و حذف کند.
شما با استفاده از کد زیر می توانید این کتابخانه را به وسیله ی Composer نصب و فراخوانی نمایید:
"require": {
"tedivm/stash": "0.14.*"
}
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید