
phpFastCache: سیستم اپنسورس کَش PHP با پرفورمنس بالا
phpFastCache یک سیستم کَش اپنسورس با پرفورمنس بالا است که هدف از طراحی آن، از یکسو بالا بردن سرعت وب اپلیکیشنهای نوشته شده با زبان PHP و از سوی دیگر به حداقل رساندن بار روی دیتابیسی همچون MySQL است.
برخلاف سیستمهای کَشینگ رایج که دیتای مختلف را روی فایلها مینویسند و فراخوانی را هم از روی همان فایلها انجام میدهند، phpFastCache میزان I/O و لُود (بار) قرار گرفته روی CPU را به حدقل میرساند به طوری که طبق ادعای ریپازیتوری گیتهاب phpFastCache، چنانچه این ابزار به درستی کانفیگ شود، لُود روی دیتابیس را به چیزی در حد صفر میرساند!
برای روشنتر شدن این مسئله، مثالی میزنیم. فرض کنیم وبسایتی داریم که در آنِ واحد 10/000 کاربر آنلاین دارد و اگر تمامی آنها بخواند یک صفحهٔ خاص از سایت را مشاهده کنند، بالتبع 10/000 کوئری به سمت دیتابیس ارسال خواهد شد اما این در حالی است که اگر phpFastCache به شکلی بهینه پیکربندی شود، صرفاً یک کوئری برای MySQL ارسال شده و 9999 ریکوئست دیگر از کَش استفاده خواهند کرد (البته نیاز به توضیح نیست که با سِت کردن Time To Live یا به اختصار TTL، میتوان زمان ماندگاری دیتای قرار گرفته در کَش را کم/زیاد کرد.)
راهنمای نصب phpFastCache
به منظور نصب این لایبرری، ابتدا باید اطمینان حاصل کنید که ابزار کامپوزر روی سیستمتان نصب است؛ سپس با استفاده از دستور زیر، phpFastCache داخل پروژه نصب خواهد شد:
$ composer require phpFastCache/phpFastCache
همچنین نحوهٔ پیادهسازی این لایبرری کَشینگ به همین راحتی است که در ادامه مشاهده مینمایید:
<?php
use Phpfastcache\CacheManager;
CacheManager::getInstance('files', $config);
// An alternative exists:
CacheManager::Files($config);
به علاوه اینکه دولوپرهایی که با فریمورک Symfony کد میزنند و یا آنهایی که با Drupal اقدام به توسعهٔ وب اپلیکیشن میکنند، ماژولهایی اختصاصی برای این دو پلتفرم پرکاربرد در اختیار خواهند داشت تا پروسهٔ پیادهسازی این لایبرری اپنسورس برایشان تسریع گردد. در پایان هم لازم به ذکر است که این لایبرری توسط Georges.L و Khoa Bui تحت لیسانس MIT و به صورت اپنسورس عرضه شده است.