Redis كخلفية للتخزين المؤقت في PHP
صِلوا PHP بـ Redis وخزّنوا مؤقتًا نتائج الاستعلامات والبيانات المحسوبة
Redis كخلفية للتخزين المؤقت في PHP درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
ما هو Redis؟
Redis هو خادم لهياكل البيانات داخل الذاكرة. ويُعدّ أكثر خلفيات التخزين المؤقت شيوعًا لتطبيقات PHP بفضل سرعته وأنواع بياناته الغنية ودعمه المدمج لمدة البقاء (TTL).
تثبيت إضافة Redis لـ PHP
ثبّت إما إضافة C phpredis (وهي الأسرع) أو مكتبة PHP الخالصة predis.
# Predis via Composer:
$ composer require predis/predis
# Or install phpredis extension:
$ pecl install redisالاتصال بـ Redis باستخدام Predis
أنشئ عميل Predis واتصل بخادم Redis.
<?php
require "vendor/autoload.php";
$redis = new \Predis\Client([
"scheme" => "tcp",
"host" => "127.0.0.1",
"port" => 6379,
]);عمليات التخزين المؤقت الأساسية
عيّن إدخالات التخزين المؤقت واحصل عليها واحذفها.
<?php
// Set with TTL (seconds):
$redis->setex("user:42", 300, json_encode($user));
// Get:
$cached = $redis->get("user:42");
$user = $cached ? json_decode($cached, true) : fetchFromDB(42);
// Delete:
$redis->del("user:42");أنماط التخزين المؤقت باستخدام Redis
نفّذ نمط cache-aside في PHP:
<?php
function getUser(int $id): array {
global $redis;
$key = "user:$id";
$cached = $redis->get($key);
if ($cached !== null) return json_decode($cached, true);
$user = fetchUserFromDB($id);
$redis->setex($key, 3600, json_encode($user));
return $user;
}تكامل Laravel مع Redis
اضبط الإعدادات في .env واستخدم واجهة Cache — فلا حاجة إلى إنشاء عميل Predis يدويًا.
# .env
CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1
// Usage:
Cache::put("key", $value, 600);
$value = Cache::get("key");الزيادة والنقصان الذريان
استخدم عمليات Redis الذرية للعدّادات، مثل عدّادات استخدام API وتحديد معدل الطلبات.
<?php
$hits = $redis->incr("page:home:hits");
$redis->expire("page:home:hits", 86400); // reset dailyقوائم Redis لقوائم الانتظار
تُستخدم قوائم Redis كخلفية لمشغّل قوائم انتظار Redis في Laravel. وتُضاف المهام إلى القوائم وتُزال منها بعمليات ذرية.
النشر والاشتراك في Redis
يدعم Redis المراسلة بنمط النشر والاشتراك للميزات الفورية، مثل بث الأحداث إلى عملاء WebSocket المتصلين.
مجموعة Redis
لتوفير الإتاحة العالية والتوسّع الأفقي، توزّع Redis Cluster البيانات على عدة عُقد. ويدعم Laravel إعداد المجموعات مباشرةً دون الحاجة إلى إعدادات إضافية.
مراقبة Redis
استخدم redis-cli monitor لمراقبة الأوامر في الوقت الفعلي، أو استخدم Laravel Horizon لمراقبة قوائم الانتظار. وتتبّع استخدام الذاكرة باستخدام redis-cli info memory.
ملخّص
Redis هو خلفية التخزين المؤقت المفضلة لـ PHP — سريعة، ودائمة اختياريًا، وغنية بهياكل البيانات. في Laravel، عيّن CACHE_DRIVER=redis واستخدم واجهة Cache. وللتحكم الدقيق، استخدم Predis أو phpredis مباشرةً.
تحقق سريع
ما أمر Redis الذي يعيّن مفتاحًا مع مدة انتهاء صلاحية بالثواني؟
الأسئلة الشائعة
هل درس «Redis كخلفية للتخزين المؤقت في PHP» مجاني؟
نعم — نص درس «Redis كخلفية للتخزين المؤقت في PHP» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «Redis كخلفية للتخزين المؤقت في PHP»؟
صِلوا PHP بـ Redis وخزّنوا مؤقتًا نتائج الاستعلامات والبيانات المحسوبة تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «Redis كخلفية للتخزين المؤقت في PHP»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- لماذا تُعدّ التخزينات المؤقتة مهمة في PHP
- Redis كخلفية للتخزين المؤقت في PHP
- Memcached لتخزين الجلسات والكائنات مؤقتًا
- أنماط إبطال التخزين المؤقت