Redis في Laravel: معالجة عمليات البيانات وتحسين الأداء

Redis هو متجر بيانات قوي وشائع في الذاكرة يستخدم لتخزين ومعالجة البيانات المؤقتة في تطبيقات الويب. في Laravel أحد أطر عمل PHP الشائعة ، يمكنك استخدامه بسهولة Redis للتعامل مع عمليات البيانات بكفاءة.

فيما يلي بعض عمليات البيانات الشائعة بـ Redis in Laravel:

تخزين البيانات بتنسيق Redis

يمكنك استخدام الوظيفة set لتخزين زوج من المفاتيح والقيمة في Redis:

use Illuminate\Support\Facades\Redis;  
  
Redis::set('name', 'John Doe');

استرجاع البيانات من Redis

يمكنك استخدام get الوظيفة لاسترداد قيمة Redis بناءً على المفتاح:

use Illuminate\Support\Facades\Redis;  
  
$name = Redis::get('name'); // Result: "John Doe"

حذف البيانات من Redis

يمكنك استخدام del الوظيفة لحذف مفتاح والقيمة المقابلة له من Redis:

use Illuminate\Support\Facades\Redis;  
  
Redis::del('name');

التحقق من وجود البيانات بتنسيق Redis

يمكنك استخدام الوظيفة exists للتحقق من وجود مفتاح في Redis:

use Illuminate\Support\Facades\Redis;  
  
if(Redis::exists('name')) {  
    // Key exists in Redis  
} else {  
    // Key does not exist in Redis  
}  

تخزين البيانات مع مدة البقاء(TTL)

يمكنك استخدام الوظيفة setex لتخزين زوج من المفاتيح والقيمة مع مدة البقاء(TTL) في Redis:

use Illuminate\Support\Facades\Redis;  
  
Redis::setex('token', 3600, 'abc123'); // Store the key 'token' with value 'abc123' for 1 hour

تخزين البيانات كقائمة

Redis يدعم تخزين البيانات كقائمة. يمكنك استخدام وظائف مثل ، ، lpush لإضافة rpush وإزالة العناصر من القائمة: lpop rpop

use Illuminate\Support\Facades\Redis;  
  
Redis::lpush('tasks', 'task1'); // Add 'task1' to the beginning of the list 'tasks'
Redis::rpush('tasks', 'task2'); // Add 'task2' to the end of the list 'tasks'  
  
$task1 = Redis::lpop('tasks'); // Get the first element of the list 'tasks'  
$task2 = Redis::rpop('tasks'); // Get the last element of the list 'tasks'

تخزين البيانات كمجموعة

Redis يدعم أيضًا تخزين البيانات كمجموعة. يمكنك استخدام وظائف مثل sadd ، srem ، smembers لإضافة وإزالة واسترداد العناصر من المجموعة:

use Illuminate\Support\Facades\Redis;  
  
Redis::sadd('users', 'user1'); // Add 'user1' to the set 'users'
Redis::sadd('users', 'user2'); // Add 'user2' to the set 'users'  
  
Redis::srem('users', 'user2'); // Remove 'user2' from the set 'users'  
  
$members = Redis::smembers('users'); // Get all elements from the set 'users'

تخزين البيانات كتجزئة

Redis يدعم تخزين البيانات كتجزئة ، حيث يرتبط كل مفتاح بمجموعة من الحقول والقيم. يمكنك استخدام وظائف مثل hset ، hget ، لإضافة واسترداد وإزالة الحقول في التجزئة hdel: hgetall

use Illuminate\Support\Facades\Redis;  
  
Redis::hset('user:1', 'name', 'John Doe'); // Add the field 'name' with value 'John Doe' to the hash 'user:1'
Redis::hset('user:1', 'email', '[email protected]'); // Add the field 'email' with value '[email protected]' to the hash 'user:1'  
  
$name = Redis::hget('user:1', 'name'); // Get the value of the field 'name' in the hash 'user:1'  
  
Redis::hdel('user:1', 'email'); // Remove the field 'email' from the hash 'user:1'  
  
$fields = Redis::hgetall('user:1'); // Get all fields and values in the hash 'user:1'

عمليات المناولة على أساس Transaction

Redis يدعم المعاملات للتعامل مع عمليات البيانات بأمان وثبات. يمكنك استخدام الدالتين multi و exec لبدء وإنهاء transaction:

use Illuminate\Support\Facades\Redis;  
  
Redis::multi(); // Begin the transaction  
  
Redis::set('name', 'John Doe');
Redis::set('email', '[email protected]');  
  
Redis::exec(); // End the transaction, operations will be executed atomically

 

الخلاصة يتيح لك استخدام Redis in Laravel التعامل مع عمليات البيانات بكفاءة وتحسين أداء تطبيقك. باستخدام عمليات البيانات الأساسية والميزات المتقدمة Redis ، يمكنك تخزين البيانات ومعالجتها بشكل فعال ، وتحسين أداء التطبيق ، وتحسين تجربة المستخدم.