קורס: אופטימיזציה של קוד PHP עבור אתר WordPress
פרטי השיעור

שימוש ב-Caching

שימוש ב-Caching

Caching הוא כלי חשוב לשיפור ביצועי אפליקציות PHP. הוא מפחית את העומס על השרת על ידי אחסון תוצאות של פעולות חוזרות במקום לבצע אותן בכל פעם מחדש.

שימוש ב-Opcode Caching

Opcode Cache מאחסן את התוצאות של PHP Compiler כך שאין צורך לפרש את הקוד בכל פעם.

הגדרת OPcache:

// בקובץ php.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.validate_timestamps=0

שימוש ב-Memcached

Memcached מאפשר אחסון של נתונים בזיכרון עבור גישה מהירה יותר.

דוגמה לשימוש:

$memcached = new Memcached();
$memcached->addServer('127.0.0.1', 11211);

// אחסון נתונים
$memcached->set('key', 'value', 3600);

// שליפת נתונים
$value = $memcached->get('key');
echo $value;

שימוש ב-Redis

Redis הוא כלי Caching מתקדם התומך גם במבני נתונים כמו רשימות ומערכים.

דוגמה לשימוש:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// אחסון נתונים
$redis->set('key', 'value');
$redis->expire('key', 3600);

// שליפת נתונים
$value = $redis->get('key');
echo $value;

שימוש ב-Page Caching

Page Caching מאחסן את התוצאה של דפי HTML כך שאין צורך לייצרם מחדש בכל בקשה.

דוגמה בסיסית:

$cacheFile = 'cache.html';
$cacheTime = 3600;

if (file_exists($cacheFile) && time() – filemtime($cacheFile)

Welcome to My Site

This is a cached page.

<?php
$output = ob_get_clean();
file_put_contents($cacheFile, $output);
echo $output;

שימוש ב-Database Query Caching

שמירה של תוצאות שאילתות לזמן קצר כדי להפחית גישה למסד הנתונים.

דוגמה:

$query = 'SELECT * FROM users';
$cacheKey = md5($query);

$result = $redis->get($cacheKey);
if (!$result) {
$result = $pdo->query($query)->fetchAll();
$redis->set($cacheKey, serialize($result), 3600);
} else {
$result = unserialize($result);
}

תרגול

  • הגדירו OPcache בפרויקט שלכם ובדקו את הביצועים.
  • שלבו Memcached או Redis לאחסון זמני של תוצאות שאילתות.
  • יישמו Page Caching בסיסי לדפי האתר.

משאבים נוספים

צפיות מבקרים: 97