2010-06-23 14 views
5

मैं रेल उपयोगकर्ता पर एक नया रूबी हूं और एक प्रश्न था। मुझे पता है कि मैं अपने उपयोगकर्ता डीबी को किस तरह दिखाना चाहता हूं लेकिन यह सोच रहा था कि मुझे इसमें अतिरिक्त मूल्य जोड़ना चाहिए या नहीं। असल में मुझे सभी उपयोगकर्ताओं को सिग्नल करने के लिए एक चर की आवश्यकता है कि एक निश्चित कार्रवाई के साथ आगे बढ़ना सुरक्षित है। यह चर सभी उपयोगकर्ताओं में लगातार रहेगा और सभी उपयोगकर्ताओं के लिए दृश्यमान होना चाहिए, लेकिन मैं चाहता हूं कि सर्वर इस चर को भी बदल सके। अन्य भाषाओं में प्रोग्रामिंग करते समय, मैं एक वैश्विक चर का उपयोग करता हूं, इसलिए मैं यह जांचना चाहता था कि यह भी मामला है या नहीं। यदि ऐसा है, तो यह इसके बारे में जाने के लिए सबसे अच्छा तरीका होगा: Site-Wide Global Variables in Ruby on Rails। साथ ही, मैं वैश्विक चर कैसे अपडेट करूं। किसी भी मदद के लिए धन्यवाद!रेल पर रूबी - वैश्विक परिवर्तनीय?

उत्तर

7

एक वैश्विक चर आपकी आवश्यकता के अनुरूप नहीं है। यह सभी रूबी प्रक्रियाओं में फैलता नहीं है। यदि आपका वेब सर्वर एक ही समय में 5 अनुरोधों को संभालने के लिए 5 रूबी प्रक्रियाओं को जन्म देता है, तो पहली प्रक्रिया में परिभाषित चर अन्य लोगों के लिए दृश्यमान नहीं होगा।

अन्य समाधान उपलब्ध हैं। आप डेटाबेस का उपयोग कर सकते हैं और डेटाबेस पर ध्वज/जानकारी स्टोर कर सकते हैं। अन्यथा, आप फ़ाइल का उपयोग कर सकते हैं और फ़ाइल में मान स्टोर कर सकते हैं। सबसे अच्छा समाधान स्मृति में साझा डेटा स्रोत, जैसे memcached या Redis होगा।

+1

अगर यह एकमात्र चर संग्रहित है तो memcache अधिक होगा –

संबंधित मुद्दे