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

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

يدعم Redis العديد من هياكل البيانات بما في ذلك السلاسل والتجزئة والقوائم والمجموعات والمجموعات المصنفة. كما يوفر أيضًا دعمًا مدمجًا للنشر / الاشتراك في الرسائل ، ودعم المعاملات ، وبرمجة Lua النصية.

هناك العديد من عملاء Redis المشهورين لمطوري Go ، ولكل منهم ميزات ووظائف فريدة. عملاء Redis الثلاثة التاليون هم الأكثر شهرة بين مطوري Go.

1. باقة go-redis

ال go-redis الحزمة هي مكتبة Go Client الشائعة لقاعدة بيانات Redis. يوفر واجهة برمجة تطبيقات بسيطة وسهلة الاستخدام للتفاعل مع Redis ، وتدعم الحزمة جميع أوامر Redis.

تحظى حزمة go-redis بشعبية بين مطوري Go نظرًا لأدائها وموثوقيتها وواجهة سهلة الاستخدام. ستجد الحزمة مفيدة للوظائف من إدارة الجلسة للتخزين المؤقت ووضع الرسائل في قائمة انتظار والمزيد.

instagram viewer

قم بتشغيل هذا الأمر في المحطة الطرفية لدليل مشروعك لتثبيت حزمة go-redis.

يذهب احصل على github.com/يذهب-ريديس / ريديس

إليك كيفية استيراد حزمة go-redis في مشروعك.

يستورد (
"FMT"
"github.com/go-redis/redis"
)

يعد إنشاء اتصال جديد بقاعدة بيانات Redis باستخدام حزمة go-redis أمرًا سهلاً. ستستخدم ملف عميل جديد طريقة ريديس الحزمة التي تقبل ملف خيارات هيكل يحتوي على تفاصيل التكوين.

funcرئيسي() {
العميل: = redis. NewClient (& redis. خيارات{
العنوان: "المضيف المحلي: 6379",
كلمة المرور: " ", // لم يتم تعيين كلمة مرور
})
}

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

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

بونغ ، يخطئ: = العميل. بينغ (). النتيجة ()

لو يخطئ! لا شيء {
FMT. Println (يخطئ)
يعود
}

FMT. Println (بونغ ، يخطئ)

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

// تعيين مفتاح
يخطئ = العميل. تعيين("مفتاح", "قيمة", 0) .Err ()

لو يخطئ! لا شيء {
FMT. Println (يخطئ)
يعود
}

يمكنك استرداد قيمة من قاعدة البيانات باستخدام المفتاح باستخدام يحصل طريقة مثيل العميل الخاص بك. باستخدام نتيجة طريقة في عملية ترجع نتيجة العملية وخطأ.

// احصل على مفتاح
val ، يخطئ: = العميل. يحصل("مفتاح").نتيجة()

لو يخطئ! لا شيء {
FMT. Println (يخطئ)
يعود
}

FMT. Println ("مفتاح"، فال)

2. حزمة Radix

ال الجذر الحزمة عبارة عن مكتبة توفر عميلًا لمتجر Redis لهيكل البيانات في الذاكرة. تلخص حزمة Radix حزمة Redigo لتوفير واجهة برمجة تطبيقات سهلة الاستخدام للتفاعل مع Redis.

توفر حزمة Radix الدعم لجميع أوامر Redis ، بما في ذلك البرمجة النصية لوا و Pub / Sub ، وتجميع الاتصالات وإعادة الاتصال التلقائي التي تسمح بعمليات فعالة ومرنة مع Redis ، ودعم مجموعات Redis بما في ذلك التجزئة الشفافة وتجاوز الفشل ، وتصميم خفيف الوزن وفعال يسمح بزمن انتقال منخفض وعالي الإنتاجية.

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

قم بتشغيل هذا الأمر لتثبيت الإصدار الثالث من حزمة Radix في دليل عمل المشروع.

يذهب احصل على github.com/mediocregopher/radix/v3

إليك كيفية استيراد ملف الجذر الحزمة في برنامجك.

يستورد (
"FMT"
"github.com/mediocregopher/radix/v3"
)

يمكنك استخدام ال يتصل طريقة الجذر حزمة للاتصال بخادم Redis. ال يتصل يقبل الأسلوب نوع الاتصال وعنوان خادم Redis ويعيد مثيل اتصال وخطأ.

funcرئيسي() {
// الاتصال بخادم redis
conn ، يخطئ: = الجذر. يتصل("tcp", "المضيف المحلي: 6379")

لو يخطئ! لا شيء {
FMT. Println (يخطئ)
يعود
}

تأجيل كون. يغلق()
}

في الوظيفة الرئيسية ، قمت بإنشاء مثيل اتصال Redis بامتداد يتصل الطريقة وأغلق الاتصال مع يغلق طريقة و تأجيل إفادة.

يمكنك تنفيذ أوامر Redis بامتداد كمد طريقة الجذر طَرد. ال كمد يقبل التابع واجهة وأمرًا وقيم الأمر.

يخطئ = كون. افعل (الجذر. كمد (لا شيء, "تعيين", "مفتاحي", "myvalue"))

لو يخطئ! لا شيء {
FMT. Println ("خطأ في تعيين مفتاح:"، يخطئ)
} آخر {
FMT. Println ("تم تعيين المفتاح بنجاح")
}

ال يفعل طريقة إحاطة العملية وإرجاع خطأ.

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

فار فال خيط
يخطئ = كون. افعل (الجذر. FlatCmd (& val، "يحصل", "مفتاحي"))

لو يخطئ! لا شيء {
FMT. Println ("خطأ في الحصول على المفتاح:"، يخطئ)
} آخر {
FMT. Println ("قيمة mykey هي"، فال)
}

عند تشغيل هذا الرمز ، يجب أن ترى إخراجًا مشابهًا لهذا:

3. حزمة Redigo

ال ريديجو الحزمة هي مكتبة Go Client الشائعة الأخرى لـ Redis. على عكس الجذر و Go-redis، ال ريديجو Package عبارة عن عميل خفيف الوزن يوفر واجهة بسيطة وفعالة للتفاعل مع Redis.

من أهم نقاط بيع Redigo هو أدائها بالرغم من وزنها الخفيف. يوفر Redigo واجهة برمجة تطبيقات تشبه الطباعة مع دعم لجميع أوامر Redis ، ويتم استخدام الحزمة بشكل شائع في خطوط الأنابيب ، و pub-sub ، وتجميع الاتصال ، والعمليات الأخرى.

قم بتشغيل هذا الأمر الطرفي لتثبيت ملف ريديجو الحزمة والبدء.

يذهب احصل على github.com/gomodule/redigo/redis

إليك كيفية استيراد حزمة redigo في ملفات مشروعك.

يستورد (
"FMT"
"github.com/gomodule/redigo/redis"
)

يمكنك استخدام ال يتصل طريقة ريديس حزمة للاتصال بطبعة قاعدة بيانات Redis. تأخذ طريقة الطلب نوع الاتصال والعنوان وتعيد مثيل الاتصال والخطأ.

funcرئيسي() {
// الاتصال بمثيل Redis
conn ، يخطئ: = redis. يتصل("tcp", "المضيف المحلي: 6379")

لو يخطئ! لا شيء {
FMT. Println (يخطئ)
يعود
}

تأجيل كون. يغلق()
}

في ال رئيسي وظيفة ، لقد قمت بالاتصال بطبعة قاعدة بيانات Redis تعمل على المنفذ 6379 وأغلق الاتصال مع يغلق طريقة مثيل الاتصال وأ تأجيل إفادة.

يمكنك تنفيذ عمليات Redis باستخدام ملف يفعل طريقة مثيل الاتصال الخاص بك. يقوم أسلوب Do بإرجاع واجهة إخراج وخطأ.

// عيّن القيمة "مرحبًا" على "الرسالة" الرئيسية
_ ، يخطئ = كون. يفعل("تعيين", "رسالة", "مرحبًا")

لو يخطئ! لا شيء {
FMT. Println (يخطئ)
يعود
}

يمكنك استرداد إخراج سلسلة لعملية Redis باستخدام الامتداد خيط طريقة ريديس طَرد. يأخذ أسلوب String مثيل العملية ويعيد القيمة والخطأ.

// احصل على قيمة المفتاح "message"
القيمة ، يخطئ: = redis. سلسلة (conn. يفعل("يحصل", "رسالة"))

لو يخطئ! لا شيء {
FMT. Println (يخطئ)
يعود
}

FMT. Println (القيمة) // الإخراج: "مرحبًا"

يمكنك استخدام قواعد بيانات SQL مع Go

هناك دعم لقواعد البيانات ومخازن البيانات الشائعة في نظام Go. يوفر Go حزمة قاعدة البيانات / SQL كجزء من المكتبة القياسية للعمل مع قواعد بيانات SQL.