Redis Server को उस डायरेक्टरी में शुरू करें जहाँ Redis के पास परमिशन है
ऊपर दिए गए उत्तर निश्चित रूप से आपकी समस्या को हल करेंगे, लेकिन यहां वास्तव में क्या हो रहा है:
rdb.dump
फ़ाइल को संग्रहीत करने के लिए डिफ़ॉल्ट स्थान ./
(वर्तमान निर्देशिका को दर्शाते हुए) है। आप इसे अपनी redis.conf
फ़ाइल में सत्यापित कर सकते हैं । इसलिए, निर्देशिका जहां से आप रेडिस सर्वर शुरू करते हैं, जहां एक dump.rdb
फ़ाइल बनाई जाएगी और अपडेट की जाएगी।
ऐसा लगता है कि आपने डायरेक्टरी में रेडिस सर्वर चलाना शुरू कर दिया है, जहाँ रेडिस के पास dump.rdb
फाइल बनाने की सही अनुमति नहीं है ।
मामले को बदतर बनाने के लिए, रेडिस भी शायद आपको सर्वर को बंद करने की अनुमति नहीं देगा, जब तक कि यह डेटा की उचित बचत सुनिश्चित करने के लिए आरडीबी फ़ाइल बनाने में सक्षम न हो।
इस समस्या को हल करने के लिए, आप का उपयोग कर सक्रिय redis ग्राहक वातावरण में जाना होगा redis-cli
और अद्यतन dir
कुंजी और अपनी परियोजना फ़ोल्डर या जहां गैर-रूट को बचाने के लिए अनुमतियों किसी भी फ़ोल्डर में अपने मूल्य निर्धारित किया है। फिर फ़ाइल BGSAVE
के निर्माण को लागू करने के लिए चलाएँ dump.rdb
।
CONFIG SET dir "/hardcoded/path/to/your/project/folder"
BGSAVE
(अब, यदि आपको उस निर्देशिका में डंप .rdb फ़ाइल को सहेजने की आवश्यकता है जिसे आपने सर्वर में शुरू किया है, तो आपको निर्देशिका के लिए अनुमतियां बदलने की आवश्यकता होगी ताकि रेडिस इसे लिख सकें। आप ऐसा करने के लिए स्टैकओवरफ़्लो खोज सकते हैं। )।
अब आपको रेडिस सर्वर को बंद करने में सक्षम होना चाहिए। ध्यान दें कि हमने मार्ग को हार्डकोड किया है। हार्डकोडिंग शायद ही कभी एक अच्छा अभ्यास है और मैं आपकी परियोजना निर्देशिका से रेडिस सर्वर शुरू करने और dir key back to
/ / `को बदलने की अत्यधिक अनुशंसा करता हूं ।
CONFIG SET dir "./"
BGSAVE
इस तरह जब आपको किसी अन्य प्रोजेक्ट के लिए रेडिस की आवश्यकता होती है, तो डंप फ़ाइल आपके वर्तमान प्रोजेक्ट की डायरेक्टरी में बनाई जाएगी, न कि हार्डकोड के प्रोजेक्ट डायरेक्टरी में।