ठीक है, मुझे लगता है कि यहाँ एक भ्रम है।
एक रेडिस क्लस्टर परिनियोजन सेंटिनल द्वारा संरक्षित कई मानक रेडिस उदाहरणों के समान नहीं है। दो बहुत अलग चीजें।
जीसीई का क्लिक-टू-डिप्लॉय विकल्प कई मानक रेडिस इंस्टेंस को प्रहरी द्वारा संरक्षित करता है, न कि रेडिस क्लस्टर द्वारा।
ioredis दोनों तरह की तैनाती को संभाल सकता है, लेकिन आपको संबंधित API का उपयोग करना होगा। यहां, आप रेडिस क्लस्टर एपीआई का उपयोग करने का प्रयास कर रहे थे, जिसके परिणामस्वरूप यह त्रुटि हुई (क्लस्टर संबंधित कमांड मानक रेडिस उदाहरणों के लिए सक्रिय नहीं हैं)।
Ioredis दस्तावेज़ीकरण के अनुसार, आपको निम्न से कनेक्ट होना चाहिए:
var redis = new Redis({
sentinels: [{ host: hostMaster, port: 26379 },
{ host: hostSlab1, port: 26379 },
{ host: hostSlab2, port: 26379 } ],
name: 'mymaster'
});
बेशक, प्रहरी बंदरगाहों और मास्टर के नाम की जाँच करें। मास्टर के विफल होने पर ioredis स्वचालित रूप से एक दास उदाहरण में स्विच का प्रबंधन करेगा, और प्रहरी यह सुनिश्चित करेगा कि दास को पहले ही मास्टर के रूप में पदोन्नत किया जाए।
ध्यान दें कि चूंकि आप पब/उप का उपयोग करते हैं, इसलिए आपको कई रेडिस कनेक्शन की आवश्यकता होगी।