الشروع في العمل مع Redis و PHP لتخزين البيانات بسرعة

يعد محرك التخزين Redis الشهير أداة ممتازة ولا بد من امتلاكها في ترسانة أي مطور برامج. يسمح محرك التخزين في الذاكرة بتخزين واسترجاع البيانات بسرعة مذهلة ، تصل إلى 32 مليون استفسار في الثانية ، مما يجعلها مكملاً رئيسياً لأي محرك قاعدة بيانات رئيسي.

دعنا نتعمق ونتعلم كيفية تسريع عملياتنا عبر الإنترنت.

ريديس: إيجابيات مقابل سلبيات

تتمثل أكبر فائدة لـ Redis في أنه مخزن بيانات داخل الذاكرة فقط ، مما يعني أنه سريع للغاية حيث يتم تخزين قاعدة البيانات داخل ذاكرة الوصول العشوائي وبالتالي لا يلزم إجراء عمليات إدخال / إخراج للملفات على محرك الأقراص الثابتة.

المزايا الإضافية الأخرى هي بساطته ، ودعم المجموعات عبر Redis -uster ، بالإضافة إلى دعمه لثمانية أنواع مختلفة من البيانات مما يوفر لك المرونة اللازمة لتخزين وإدارة بياناتك حسب الحاجة.

ومع ذلك ، فإن أكبر عيب له هو حقيقة أنه مجرد مخزن بيانات داخل الذاكرة ، وبالتالي يأتي مع قيود على الحجم. يعتمد ذلك على البنية الأساسية للخادم الخاص بك ، ولكن من أجل هذه المقالة والبساطة ، ستحتوي قاعدة بيانات Redis النموذجية على 2-4 جيجابايت كحد أقصى من البيانات.

هذا يعني أن Redis يُستخدم لتكملة محركات قواعد البيانات الشائعة الاستخدام مثل mySQL و PostgreSQL و MongoDB ، ولا يُقصد به أن يكون بديلاً. تشمل الاستخدامات الرئيسية لـ Redis ذاكرة تخزين مؤقت ، أو بيانات مؤقتة / حديثة ستنتهي صلاحيتها في فترة زمنية قصيرة ، أو أجزاء صغيرة من البيانات يتم الوصول إليها بشكل متكرر.

كيفية تثبيت Redis

بافتراض أنك تقوم بتشغيل Ubuntu أو أي توزيعة Linux تحتوي على الأمر apt-get ، لتثبيت Redis ببساطة قم بتشغيل الأمر التالي في Terminal:

sudo apt-get install redis-server

بعد ذلك ، تحقق للتأكد من تثبيت Redis بنجاح. داخل المحطة ، قم بتشغيل الأمر:

redis-cli --version

يجب أن يطبع هذا إصدار Redis الذي تقوم بتشغيله ، وبافتراض ذلك ، قم بتشغيل الأمر التالي للاتصال بـ Redis:

redis-cli

سيعطيك هذا مطالبة Redis غير قياسية داخل الجهاز ، والتي تبدو مثل:

127.0.0.1:6379>

أوامر السلسلة

يتم تحديد كل إدخال في Redis بواسطة مفتاح ، والذي يمكن أن يكون أي سلسلة غير مسافات بيضاء تريدها. تحتوي السلاسل على قيمة واحدة فقط ، وعلى سبيل المثال ، قم بتشغيل الأوامر التالية في موجه Redis لتعيين قيمة إلى زوجين من المفاتيح.

127.0.0.1:6379> set full_name "John Doe" 127.0.0.1:6379> set units 5

يمكنك الآن سرد جميع المفاتيح الموجودة حاليًا في قاعدة بيانات Redis باستخدام الأمر keys.

127.0.0.1:6379> keys *

وسيؤدي ذلك إلى عرض اثنين من مفاتيح قمت بتعيين سابقا، FULL_NAME  و حدات . قد ترى قيمة هذه المفاتيح باستخدام الأمر get.

127.0.0.1:6379> get full_name "John Doe" 127.0.0.1:6379> get units 5

يمكن حذف المفاتيح بسهولة باستخدام الأمر del.

127.0.0.1:6379> del full_name

من الممكن أيضًا زيادة عدد صحيح سريعًا باستخدام الأمر hincrby . سيؤدي ما يلي إلى زيادة مفتاح "الوحدات" من 5 إلى 7.

127.0.0.1:6379> incrby units 2

قائمة الأوامر

القوائم في Redis عبارة عن مصفوفات أحادية البعد بترتيب معين ، وتسمح بالعناصر المكررة في مواضع مختلفة من القائمة. يمكن إضافة عناصر إلى اليسار أو اليمين من قائمة مع lpush و rpush الأوامر.

127.0.0.1:6379> lpush colors blue 127.0.0.1:6379> rpush colors red yellow green

كما ترى من المثال أعلاه ، يمكنك دفع عناصر متعددة إلى قائمة داخل أمر واحد. يمكننا الآن عرض جميع العناصر الموجودة في القائمة باستخدام الأمر lrange .

127.0.0.1:6379> lrange colors 0 -1

يوجد رقمان صحيحان في نهاية الأمر ، الأول يحدد الموضع داخل القائمة للبدء منه ، والثاني هو عدد العناصر التي سيتم إرجاعها مع -1 يعني جميع العناصر. ستكون نتيجة الأمر أعلاه باللون الأزرق والأحمر والأصفر والأخضر .

يمكنك أيضًا إزالة العناصر من أي من طرفي القائمة باستخدام الأمرين lpop و rpop .

127.0.0.1:6379> lpop colors blue 127.0.0.1:6379> rpop colors green

يمكنك أيضًا الحصول على عدد العناصر في قائمة باستخدام الأمر llen .

127.0.0.1:6379> llen colors (integer) 2

أخيرًا ، يمكنك إزالة عنصر من القائمة عن طريق الأمر lrem .

127.0.0.1:6379> lrem colors 1 green (integer) 1

و lrem يبدأ الأمر مع اسم القائمة، يليه عدد من الحوادث لإزالة، واسم العنصر لإزالة. سيعيد عدد التكرارات التي تم العثور عليها وإزالتها من القائمة.

أوامر التجزئة

تعد التجزئة واحدة من أكثر أنواع البيانات شيوعًا في Redis ، والتي تتيح لك تخزين أزواج متعددة من قيم المفاتيح داخل إدخال واحد. لا يلزم وجود المفتاح بالفعل ، ويمكنك تحديد أزواج المفتاح والقيمة في أي وقت باستخدام الأمر hset .

127.0.0.1:6379> hset user:581 full_name "Jane Doe" 127.0.0.1:6379> hset user:581 points 500

يمكنك أيضًا تحديد أزواج متعددة من المفاتيح والقيمة للتجزئة داخل أمر واحد باستخدام الأمر hmset .

127.0.0.1:6379> hmset user:581 email [email protected] gender F

التجزئة التي حددها المستخدم الرئيسي : 581 لديها الآن ما مجموعه أربعة أزواج من قيم المفاتيح ، والتي يمكن استردادها جميعًا بسهولة باستخدام الأمر hgetall .

127.0.0.1:6379> hgetall user:581 1) "full_name" 2) "Jane Doe" 3) "points" 4) "500" 5) "email" 6) "[email protected]" 7) "gender" 8) "F"

يمكنك أيضًا الحصول على قيمة زوج واحد ذي قيمة مفتاح داخل تجزئة باستخدام الأمر get .

127.0.0.1:6379> hget user:581 email "[email protected]"

بالنسبة لأي أعداد صحيحة داخل التجزئة ، يمكنك زيادتها بمقدار محدد باستخدام الأمر code hincrby .

127.0.0.1:6379> hincrby user:581 points 20 (integer) 520

تمت الآن زيادة قيمة مفتاح النقاط داخل التجزئة بمقدار 20 إلى 520. يمكن حذف زوج واحد ذي قيمة مفتاح داخل تجزئة باستخدام الأمر hdel .

127.0.0.1:6379> hdel user:581 gender

بدلاً من ذلك ، يمكنك أيضًا حذف تجزئة بالكامل بما في ذلك جميع أزواج المفتاح والقيمة باستخدام الأمر del .

127.0.0.1:6379> del user:581

انتهاء صلاحية مفاتيح Redis

ميزة أخرى ممتازة لـ Redis هي القدرة على انتهاء صلاحية المفاتيح تلقائيًا بعد عدد محدد من الثواني باستخدام أمر expire . يرجى ملاحظة أنه يمكنك فقط إنهاء صلاحية المفاتيح الكاملة وليس العناصر الفردية داخل القائمة أو التجزئة. على سبيل المثال:

127.0.0.1:6379> expire full_name 10

سيؤدي هذا إلى تعيين وقت انتهاء صلاحية قدره 10 ثوانٍ على مفتاح الاسم الكامل الذي أنشأته في قسم السلاسل. بعد تشغيل الأمر أعلاه ، انتظر لمدة 10 ثوانٍ ثم حاول استرداد قيمة المفتاح مرة أخرى.

127.0.0.1:6379> get full_name (nil)

كما هو متوقع ، انتهت صلاحية المفتاح الآن ومن ثم أصبحنا فارغًا نتيجة لذلك.

تواصل مع Redis مع PHP

الآن بعد أن تعلمت أساسيات كيفية تخزين البيانات واستردادها باستخدام Redis ، حان الوقت لتوصيلها ببرنامجك. تحتوي جميع لغات البرمجة على وحدات / امتدادات لـ Redis ، ولكن في هذا المثال ، سنستخدم PHP.

يجب عليك أولاً تثبيت امتداد PHP-Redis لأنه غير مثبت افتراضيًا. داخل المحطة ، قم بتشغيل الأمر.

sudo apt-get install php-redis

بمجرد التثبيت ، تأكد من إعادة تشغيل PHP-fpm حتى يتم تحميل الامتداد بشكل صحيح. إليك بعض أكواد PHP التي تتصل بـ Redis وتتفاعل معه.

<> // Connect to redis $conn = new redis(); try { $conn->connect('127.0.0.1', 6379, 5); } catch (RedisException $e) { die("Unable to connect to redis"); } // Set string $conn->set('country', 'Canada'); // Get string $value = $conn->get('country'); echo "Country is: $value "; // Define a profile $profile = [ 'username' => 'mike', 'full_name' => 'Mike Smith', 'email' => '[email protected]', 'country' => 'Australia' ]; // Create a hash $conn->hmset('user:188', $profile); // Get all values of the profile hash $values = $conn->hgetall('user:188'); print_r($values); // Get only the e-mail address $email = $conn->hget('user:188', 'email'); echo "E-mail is: $email "; // Expire the hash in 15 seconds $conn->expire('user:188', 15);

يجب أن يكون رمز المثال أعلاه مستقيمًا تمامًا. يتصل أولاً بـ Redis بمهلة 5 ثوانٍ ، ثم يواصل التعيين والحصول على سلسلة وتجزئة. يمكن تنفيذ جميع أوامر Redis عبر OOP عن طريق الاتصال بها مباشرة من كائن Redis كما هو موضح أعلاه.

أنت في طريقك!

تهانينا ، لقد تعلمت أساسيات كيفية تخزين البيانات واستردادها بسرعة فائقة عبر محرك التخزين Redis ، بما في ذلك كيفية الاتصال والتفاعل مع Redis باستخدام PHP.

يرجى ملاحظة أن هذه المقالة تغطي الأساسيات فقط ، وتعد صفحة أنواع بيانات Redis الخاصة بالوثائق مكانًا رائعًا لمواصلة استكشاف Redis وجميع وظائفه.


كيفية تحديث Firefox من Terminal على أجهزة كمبيوتر Ubuntu Linux

كيفية تحديث Firefox من Terminal على أجهزة كمبيوتر Ubuntu Linux

تعرف على كيفية تحديث Firefox من Terminal على كمبيوتر Ubuntu Linux

كيفية البحث عن نص واستبداله في Vim على Linux

كيفية البحث عن نص واستبداله في Vim على Linux

يعد vim أحد أشهر برامج تحرير الملفات في Linux. يرجع جزء من الشعبية إلى الأمر

أفضل 10 تطبيقات مؤتمرات فيديو لنظام Linux

أفضل 10 تطبيقات مؤتمرات فيديو لنظام Linux

بالنسبة للموظفين المستقلين والموظفين الذين يعملون بانتظام من المنزل ، يعد الاتصال عن بُعد أحد الأشياء العديدة التي يجب الاهتمام بها. لقد حلت مؤتمرات الفيديو الآن محل الاجتماعات في المكتب بالنسبة للكثيرين منا. شهدت أدوات مثل Zoom و Skype زيادة هائلة في النمو.

كيفية تثبيت خادم FTP على Ubuntu في 5 خطوات

كيفية تثبيت خادم FTP على Ubuntu في 5 خطوات

إذا كنت تقوم بإعداد خادم Linux ، فستحتاج إلى الوصول إلى FTP. هذا يعني أولاً تثبيت خادم FTP على Linux. يجب أن يكون هذا من أول الأشياء التي تقوم بها بعد تثبيت نظام تشغيل الخادم الخاص بك.

كيفية تشفير الملفات والدلائل في Linux وفك تشفيرها بسهولة

كيفية تشفير الملفات والدلائل في Linux وفك تشفيرها بسهولة

هل سبق لك أن أردت تشفير الملفات بسرعة وسهولة في Linux دون الحاجة إلى تثبيت حزم برامج جديدة وتعلمها؟ هذه طريقة ممتازة وسهلة لتشفير الملفات أو الدلائل بسهولة عبر AES256 المؤمنة بكلمة مرور ، مما يساعد على إبقاء ملفاتك بعيدًا عن أعين المتطفلين.

كيفية إصلاح: الأمر غير موجود خطأ في أوبونتو

كيفية إصلاح: الأمر غير موجود خطأ في أوبونتو

من المحتمل أن يكون الأمر make أحد أكثر الأوامر استخدامًا في نظام Linux البيئي. يستخدم هذا الأمر لبناء البرامج وترجمتها مباشرة من الكود المصدري.

كيفية البحث عن الملفات المكررة وإزالتها على نظام Linux باستخدام fdupes

كيفية البحث عن الملفات المكررة وإزالتها على نظام Linux باستخدام fdupes

عند العمل بكميات كبيرة من الوسائط والمستندات ، من الشائع أن تتراكم نسخ متعددة من نفس الملف على جهاز الكمبيوتر الخاص بك. حتمًا ، ما يلي هو مساحة تخزين مزدحمة مليئة بالملفات الزائدة عن الحاجة ، مما يؤدي إلى إجراء فحوصات دورية للملفات المكررة على نظامك.

توزيعات Linux المستقرة مقابل Bleeding-Edge Linux Distros: أيهما يجب أن تختار؟

توزيعات Linux المستقرة مقابل Bleeding-Edge Linux Distros: أيهما يجب أن تختار؟

أحد الخيارات الرئيسية التي يواجهها العديد من مستخدمي Linux عند اختيار توزيع Linux هو استقراره ، أو مدى تغير البرنامج.

هل عام 2020 هو عام جائحة البرامج الضارة لنظام Linux؟

هل عام 2020 هو عام جائحة البرامج الضارة لنظام Linux؟

سمعتها في مجال الأمان تعني أن Linux غالبًا ما يكون أقل عرضة لأنواع التهديدات التي تصيب أنظمة Microsoft Windows بانتظام. يأتي الكثير من هذا الأمان المتصور من العدد المنخفض نسبيًا لأنظمة Linux ، ولكن هل بدأ مجرمو الإنترنت يرون قيمة في اختيار الجودة على الكمية؟

كيفية تنزيل برنامج uGet Download Manager وتثبيته على نظام Linux

كيفية تنزيل برنامج uGet Download Manager وتثبيته على نظام Linux

تعد مديرو التنزيل أداة شائعة لإدارة جميع التنزيلات الخاصة بك داخل تطبيق واحد وتزويدك ببعض الميزات المفيدة. إذا كنت قد انتقلت مؤخرًا من نظام التشغيل Windows إلى Linux ، فقد تبحث عن بديل لبرنامج Internet Download Manager الشهير (IDM).

ملاحظة: أصبح أخذ أجهزة Chromebook أسهل مع مخطوطة

ملاحظة: أصبح أخذ أجهزة Chromebook أسهل مع مخطوطة

Cursive هو تطبيق ويب تقدمي (PWA) قدمته Google مع إصدار HP Chromebook x2 11. يمكنك استخدام هذا التطبيق لتدوين ملاحظات مكتوبة بخط اليد على جهاز Chromebook المزود بقلم.

كيفية استخدام Vim: دليل للأساسيات

كيفية استخدام Vim: دليل للأساسيات

Vim هو محرر الأكواد الأقوى والأكثر تنوعًا المتاح للأنظمة الشبيهة بـ Unix. إنه امتداد لمحرر السادس الذي طوره بيل جوي. يتوفر Vim افتراضيًا في معظم أنظمة Linux و BSD.

كيفية تثبيت واستخدام Neofetch على Linux

كيفية تثبيت واستخدام Neofetch على Linux

يعرض Neofetch شعار ASCII لتوزيع Linux الخاص بك مع المعلومات المتعلقة بنظامك في الجهاز. سيستخدمه العديد من مستخدمي Linux في لقطات شاشة لأجهزة سطح المكتب الخاصة بهم فقط لأنهم يعتقدون أنها رائعة. وهم على حق. يمكنك استخدامه لإظهار الإعداد الخاص بك في لقطات الشاشة أيضًا.

كيفية اختبار أي توزيعة Linux بدون التثبيت باستخدام DistroTest

كيفية اختبار أي توزيعة Linux بدون التثبيت باستخدام DistroTest

هل تريد تجربة توزيعات Linux على نظامك دون تثبيت؟ تتوفر العديد من مواقع الويب على الإنترنت والتي تتيح لك تشغيل أنظمة التشغيل المستندة إلى Linux على مستعرض الإنترنت.

أفضل 10 توزيعات Linux للمطورين

أفضل 10 توزيعات Linux للمطورين

على الرغم من أن Linux قد لا يكون نظام التشغيل المفضل للمستخدمين العاديين ، إلا أنه الخيار المفضل لمعظم المطورين والمبرمجين. Linux هو نظام تشغيل أكثر عملية تم تصميمه بشكل صريح مع وضع البرمجة والمطورين في الاعتبار.

كيفية تثبيت Spotify على Linux

كيفية تثبيت Spotify على Linux

Spotify هي واحدة من أكبر خدمات بث الموسيقى الموجودة هناك. لديه عملاء أصليين لكل من الأجهزة المحمولة (Android و iOS) وأجهزة سطح المكتب (Mac و Windows).

كيفية تثبيت وإزالة الحزم في Arch Linux

كيفية تثبيت وإزالة الحزم في Arch Linux

هل تريد تثبيت الحزم على Arch Linux ولكن لا تعرف كيف؟ يواجه الكثير من الأشخاص هذه المشكلة عندما يهاجرون لأول مرة من التوزيعات القائمة على دبيان إلى Arch. ومع ذلك ، يمكنك بسهولة إدارة الحزم على نظامك المستند إلى Arch باستخدام مديري الحزم.

كيفية التحويل بين حزم Linux باستخدام Alien

كيفية التحويل بين حزم Linux باستخدام Alien

هل تريد تحويل حزمة Linux إلى تنسيق آخر؟ ربما تكون الحزمة التي تبحث عنها غير متوفرة للتوزيعة الخاصة بك ولكنك لا تزال تريدها مهما كان الأمر. أو ربما تكون مطورًا وترغب في توفير وقتك عن طريق إعادة حزم برنامجك بسرعة إلى تنسيقات أخرى دون الحاجة إلى إنشاء الحزمة مرة أخرى.

كيفية إجراء اختبار الكتابة على نظام Linux باستخدام tt

كيفية إجراء اختبار الكتابة على نظام Linux باستخدام tt

في العصر الحديث للتكنولوجيا ، أصبحت الكتابة واحدة من أكثر الأنشطة شيوعًا للعديد من المهن. يمكن أن يساعدك تعلم الكتابة بشكل أسرع ودقة في إنجاز المزيد من الأشياء في نفس الوقت.

كيفية تعطيل Ubuntu Dock على Ubuntu 20.04

كيفية تعطيل Ubuntu Dock على Ubuntu 20.04

أحيانًا يكون من الأفضل مغادرة الرصيف والإبحار بعيدًا!

كيفية استخدام CD Command في Linux

كيفية استخدام CD Command في Linux

طريقة سهلة لتغيير الدلائل في Linux من المحطة

كيفية إضافة مفاتيح SSH على أوبونتو 20.04

كيفية إضافة مفاتيح SSH على أوبونتو 20.04

تشرح لك هذه المقالة عملية إضافة مصادقة مفاتيح SSH على خادم Ubuntu 20.04 وتعطيل المصادقة المستندة إلى كلمة المرور.

كيفية تحديث Firefox من Terminal على أجهزة كمبيوتر Ubuntu Linux

كيفية تحديث Firefox من Terminal على أجهزة كمبيوتر Ubuntu Linux

تعرف على كيفية تحديث Firefox من Terminal على كمبيوتر Ubuntu Linux

كيفية تمكين SSH على Ubuntu 20.04

كيفية تمكين SSH على Ubuntu 20.04

الوصول بأمان إلى جهاز Ubuntu الخاص بك من أي مكان

كيفية التحقق مما إذا كان الملف أو الدليل موجودًا في برنامج Bash Shell

كيفية التحقق مما إذا كان الملف أو الدليل موجودًا في برنامج Bash Shell

التحقق من وجود ملف أو دليل من نص برمجي Bash

كيفية تثبيت Google Chrome على Ubuntu 20.04

كيفية تثبيت Google Chrome على Ubuntu 20.04

دليل سريع لتثبيت Google Chrome من سطر الأوامر على Ubuntu 20.04

كيفية إجراء اختبارات السرعة من سطر أوامر Linux باستخدام Speedtest-cli

كيفية إجراء اختبارات السرعة من سطر أوامر Linux باستخدام Speedtest-cli

Speedtest.net هي خدمة لاختبار سرعة اتصالك بالإنترنت. يستخدم خادم speedtest.net قريب للتنزيل

كيفية إنشاء مستخدم Sudo على Ubuntu 20.04 LTS

كيفية إنشاء مستخدم Sudo على Ubuntu 20.04 LTS

امنح امتيازات الجذر لأي مستخدم لديه sudo على Ubuntu 20.04 LTS

كيفية تحديث NodeJS إلى أحدث إصدار في أوبونتو

كيفية تحديث NodeJS إلى أحدث إصدار في أوبونتو

تحديث NodeJS باستخدام APT و NVM.