الانتقال إلى المحتوى الرئيسي
يتيح هذا المحرك تكامل ClickHouse مع Redis. ونظرًا إلى أن Redis يعتمد نموذج المفتاح/القيمة (kv)، فإننا نوصي بشدة بقصر الاستعلامات عليه على الاستعلامات النقطية فقط، مثل where k=xx أو where k in (xx, xx).

إنشاء جدول

معلمات المحرّك
  • host:port — عنوان خادم Redis. يمكنك تجاهل المنفذ، وسيُستخدم منفذ Redis الافتراضي 6379.
  • db_index — نطاق فهرس Redis db من 0 إلى 15، والقيمة الافتراضية هي 0.
  • password — كلمة مرور المستخدم، والقيمة الافتراضية هي سلسلة فارغة.
  • pool_size — الحد الأقصى لحجم connection pool في Redis، والقيمة الافتراضية هي 16.
  • primary_key_name - أي اسم عمود في قائمة الأعمدة.
التسلسللا يدعم PRIMARY KEY سوى عمود واحد. سيُسلسَل المفتاح الأساسي بتنسيق binary كمفتاح Redis. أما الأعمدة الأخرى غير المفتاح الأساسي فستُسلسَل بتنسيق binary كقيمة Redis وفق الترتيب المقابل.
يمكن أيضًا تمرير الوسيطات باستخدام المجموعات المسماة. في هذه الحالة، يجب تحديد host وport كلٌّ على حدة. يُوصى بهذا النهج لبيئة production. في الوقت الحالي، تكون جميع المعلمات المُمرَّرة إلى Redis باستخدام المجموعات المسماة مطلوبة.
التصفيةستُحسَّن الاستعلامات التي تحتوي على key equals أو in filtering إلى عمليات lookup متعددة المفاتيح من Redis. أما إذا كانت الاستعلامات بلا مفتاح تصفية، فسيحدث مسح كامل للجدول، وهي عملية مكلفة.

مثال على الاستخدام

أنشئ جدولًا في ClickHouse باستخدام المحرك Redis مع وسائط بسيطة:
Query
أو باستخدام المجموعات المسماة:
Query
إدراج:
Query
Query
Response
Query
Response
Query
Response
تحديث: يرجى ملاحظة أنه لا يمكن تحديث المفتاح الأساسي.
Query
الحذف:
Query
Truncate: تفريغ Redis db بشكل غير متزامن. كما يدعم Truncate أيضًا وضع SYNC.
Query
JOIN: الربط مع جداول أخرى.
Query

القيود

يدعم محرك Redis أيضًا استعلامات المسح، مثل where k > xx، لكن له بعض القيود:
  1. قد يُنتج استعلام المسح بعض المفاتيح المكررة في حالات نادرة جدًا أثناء إعادة التجزئة. راجع التفاصيل في Redis Scan.
  2. أثناء المسح، قد تُنشأ مفاتيح وتُحذف، لذلك لا يمكن لمجموعة البيانات الناتجة أن تمثل نقطة زمنية محددة تمثيلًا صحيحًا.
آخر تعديل في ٢ يوليو ٢٠٢٦