क्या कोई आम एपीआई है कि अगर मैं रेडिस या मेमकैच के बीच स्विच करता हूं तो मुझे अपना कोड बदलना नहीं है, बस एक कॉन्फ़िगरेशन सेटिंग है?
उत्तर:
उत्तर № 1 के लिए 42जब तक आप Memcached क्लाइंट को स्वयं शुरू नहीं करते हैं, लेकिन आप भरोसा करते हैं Rails.cache
सामान्य एपीआई, मेमकैड से रेडिस में स्विचिंग सिर्फ इंस्टॉल करने का मामला है redis की दुकान और से विन्यास बदल रहा है
config.cache_store = :memcached_store
सेवा मेरे
config.cache_store = :redis_store
अधिक Rails.cache के बारे में जानकारी.
जवाब के लिए 38 № 2
मुझे आपके लक्ष्यों से गड़बड़ करने से नफरत है, लेकिन मैं जेनेरिक रेल कैशिंग के लिए मेमकैड पर रेडिस का उपयोग करने की सलाह दूंगा।
मैं रेडिस का उपयोग करता हूं और बड़े रेल अनुप्रयोग में बड़े पैमाने पर रेज्यूक करता हूं और मैंने सोचा कि कैशिंग, कच्चे रेडिस और एक में रिस्क्यू को मजबूत करना अच्छा होगा। मैं कुछ बड़े मुद्दों में भाग गया:
- सबसे पहले, यह धीमा था। यह पूरी तरह से मेरा विशिष्ट उपयोग, रेडिस-स्टोर लाइब्रेरी या रेडिस हो सकता था। मैं कुछ भी खराब नहीं कर रहा हूं और आपका माइलेज अलग-अलग हो सकता है, लेकिन यह "बस काम करता है" जब लाल रंग में स्विच करने में बहुत समय लगता है
- Memcached अच्छा है क्योंकि यह बेहद आसान हैसर्वर जोड़ें और अपने लक्ष्यों को पूरा करने के लिए लगातार हैशिंग का उपयोग करें। रेडिस में यह भी है, लेकिन मेरे अनुभव में रेडिस के साथ-साथ मेरे ऐप के कुछ हिस्सों में एक मोनोलिथिक डेटास्टोर दोनों के रूप में व्यवहार करना मुश्किल था और अन्य हिस्सों में इसे कैशिंग स्टोरेज के एक वितरित, लगातार धोए गए ब्लब्स के रूप में माना जाता है।
आपकी परियोजना के लिए शुभकामनाएं। मुझे रेडिस और मेमकैच पसंद है और मेरी सभी परियोजनाओं में उनका उपयोग करें, लेकिन मैंने इसे एक किक-गधे डेटा स्ट्रक्चर सर्वर के रूप में काम करने दिया और दूसरे को कैशिंग में गधे को मारने दिया।
जवाब के लिए 2 № 3
रेडिस के साफ हिस्सों में कैशिंग "सूची-आधारित" चीजें शामिल हैं - इस सूची से चीजों को धक्का / पॉपिंग करना जैसे वे आपके ऐप में होते हैं।
Memcached से एक बड़े मूल्य de-serializing करने के बजाय, इसे संपादित, फिर इसे फिर से serializing।
यह एक कस्टम फ़िल्टर में रूबी कोड में किया जाएगा, मूल रेल कैश बनाम।