2011-10-06 10 views
14

मैंने django-redis-cache और redis-py स्थापित किया है। मैंने Django के लिए कैशिंग दस्तावेज़ों का पालन किया है। जहां तक ​​मुझे पता है, नीचे दी गई सेटिंग्स मुझे चाहिए। लेकिन मैं कैसे बता सकता हूं कि यह ठीक से काम कर रहा है ??मेरा रेडिस कैश काम कर रहा है तो मैं कैसे परीक्षण कर सकता हूं?

settings.py

CACHES = { 
     'default': { 
      'BACKEND': 'redis_cache.RedisCache', 
      'LOCATION': '<host>:<port>', 
      'OPTIONS': { 
       'DB': mydb, 
       'PASSWORD': 'mydbspasswd', 
       'PARSER_CLASS': 'redis.connection.HiredisParser' 
      }, 
     }, 
    } 

...

MIDDLEWARE_CLASSES = (
     'django.middleware.cache.UpdateCacheMiddleware', 
     ...[the rest of my middleware]... 
     'django.middleware.cache.FetchFromCacheMiddleware', 
    ) 

    CACHE_MIDDLEWARE_ALIAS = 'default' 
    CACHE_MIDDLEWARE_SECONDS = (60 * 60) 
    CACHE_MIDDLEWARE_KEY_PREFIX = '' 
+2

आप क्या पूछ रहे हैं कि आप इसका परीक्षण करके पता नहीं लगा सकते हैं? –

+1

मैं कैसे परीक्षण कर सकता हूं और बता सकता हूं कि यह काम करता है या नहीं? मैं कुल कैशिंग नौसिखिया हूँ! –

+1

मैंने अभी अपने प्रश्न का शब्द बदल दिया है। मुझे लगता है कि यह वास्तव में एक अलग सवाल बनाता है, लेकिन यह बेहतर ढंग से स्पष्ट करता है कि मुझे इसे समझने की क्या ज़रूरत है! –

उत्तर

39
Django के साथ

फ्लॉप काम अभी तक है, लेकिन जाँच के लिए मेरा डिफ़ॉल्ट दृष्टिकोण कुछ घटक वास्तव में विकास के दौरान Redis के लिए लिखते हैं, तो:

सबसे पहले, मैं पुरानी कैश प्रविष्टियों को हटाने के लिए रेडिस में संग्रहीत सभी कुंजियों को फ्लश करता हूं (इसे उत्पादन में कभी नहीं करें क्योंकि यह रेडिस से सभी डेटा हटा देता है):

> redis-cli FLUSHALL 

फिर अपने आवेदन में कैशिंग सक्रिय करते हैं, और देखो redis क्या करता है:

> redis-cli MONITOR 

आप एक इंटरैक्टिव सत्र जहां Redis के लिए भेजा हर आदेश को देखने दर्ज करना चाहिए।

अपने पृष्ठ को और अपने टर्मिनल पर दोबारा लोड करें, आपको कैश डेटा संग्रहीत करने वाले कुछ एसईटी * ऑपरेशंस देखना चाहिए।

फिर से लोड करें और यदि आपका कैश काम करता है, तो आपको कैश किए गए डेटा को पुनर्प्राप्त करने वाले कुछ GET * ऑपरेशन देखना चाहिए।

नोट: इस विधि के साथ आप जांच सकते हैं कि आपका कैश वास्तव में उपयोग किया जाता है या नहीं। आप क्या देख सकते हैं कि क्या आपका कैश आपके आवेदन को तेज़ करने में मदद करता है। इसके लिए आपको टिप्पणियों में सुझाए गए प्रदर्शन परीक्षण करना होगा।

+0

कूल @ मैक्स। यह बढ़िया है। इसे जांच लेंगे। मैं वापस आऊंगा और जब मैं पुष्टि करता हूं तो इसे बंद कर दूंगा! –

7

आप django-debug-toolbar इंस्टॉल कर सकते हैं और देख सकते हैं कि कैशिंग सक्षम करने पर क्वेरी की संख्या घट जाती है या नहीं। हालांकि मुझे नहीं लगता कि यह प्रश्न पूछने का सबसे अच्छा समाधान है, मुझे अभी भी लगता है कि आप ऐसा करना चाहते हैं, क्योंकि आप आसानी से इस सेटअप का उपयोग करके महंगे प्रश्नों को इंगित कर सकते हैं, और फिर उन्हें उपयुक्त कैशिंग जोड़ सकते हैं।

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