क्या मैं विकास तैनाती के लिए कैश को बंद कर सकता हूं?


22

विकास मंच पर कैशिंग एक दर्द हो सकता है। क्या मैं इसे बंद कर सकता हूं? क्या यह किसी ऐसे मॉड्यूल को प्रभावित करेगा जिसकी आवश्यकता है?

जवाबों:


19

डेवेल मॉड्यूल स्थापित करें जो प्रशासकों के लिए कैश स्पष्ट विकल्प जोड़ता है। आप त्वरित कैश समाशोधन के लिए एक क्षेत्र में जोड़ने के लिए एक devel ब्लॉक पाएंगे, या यदि आप व्यवस्थापक मेनू स्थापित करते हैं और Drupal में विभिन्न कैश को साफ़ करने के लिए बाईं ओर शीर्ष में एक त्वरित मेनू प्राप्त करते हैं।

यदि आप कमांड लाइन को ड्रश स्थापित करते हैं और drush cc allअपनी साइटों के कैश को साफ़ करने के लिए कमांड का उपयोग करते हैं। सावधान रहें कि वर्तमान में drc cc वार्निश कैश को साफ नहीं करता है यदि यह आपके सेटअप पर लागू होता है।


9

यदि आप Drupal 7 का उपयोग कर रहे हैं, तो आप DrupalFakeCache का उपयोग करने के लिए हमेशा अपनी कैशिंग सेट कर सकते हैं, जो आमतौर पर केवल स्थापना प्रक्रिया के दौरान उपयोग किया जाता है। इसे सेट करने के लिए, अपनी सेटिंग में निम्न कोड स्निपेट छोड़ें।

include_once(DRUPAL_ROOT . '/includes/cache.inc');
include_once(DRUPAL_ROOT . '/includes/cache-install.inc');
$conf['cache_default_class'] = 'DrupalFakeCache';

4

प्रशासन> साइट कॉन्फ़िगरेशन में 'प्रदर्शन' पृष्ठ आपको चयनित साइट तत्वों के कैशिंग को सक्षम / अक्षम करने की अनुमति देगा। थीम टेम्प्लेट को आमतौर पर अधिक दृढ़ता से कैश किया जाता है, लेकिन उसी 'प्रदर्शन' पृष्ठ के भीतर फ्लश किया जा सकता है।

'प्रशासन मेनू' मॉड्यूल एक टूलबार में एक शॉर्टकट प्रदान करेगा यदि कैश फ्लश को नियमित रूप से करने की आवश्यकता है - थीम देव के दौरान मैं खुद को लगातार निस्तब्धता पाता हूं।


4

जहाँ तक मुझे पता है कि किसी भी मॉड्यूल को कैशिंग की आवश्यकता नहीं है । यदि आप इसे बंद नहीं करना चाहते हैं तो आप इसे Site Settings > Performanceअनुभाग में साफ़ कर सकते हैं ।

कैशिंग अक्षम होने पर भी कैश को साफ़ करने तक थीम में जोड़ी गई नई फ़ाइलों को नहीं पहचाना जाएगा।

Drupal.org पर कैश को खाली करने के विभिन्न तरीकों के बारे में कुछ जानकारी है


4

स्टीव एच ने जिन विधियों का उल्लेख किया है , उनके अलावा , देवल मॉड्यूल के उपयोग से कुछ और विकल्प खुलते हैं, जिनमें शामिल हैं:

  • हर पेज लोड पर थीम कैश का पुनर्निर्माण (उपयोगी यदि आप टेम्पलेट फ़ाइलों पर काम कर रहे एक व्यक्ति हैं)
  • एक ऐसा ब्लॉक जो खाली कैश फ़ंक्शन तक आसान पहुंच प्रदान करेगा और फ़ंक्शन को पुनर्स्थापित करेगा।

प्रदर्शन के तहत देवल मॉड्यूल और कैशिंग बंद हो जाने के बाद , केवल वही अन्य प्रमुख कैश जो आप रूटीन डेवलपमेंट में चलाएंगे, मेन्यू राउटर है, जिसे स्टीव के बताए अनुसार डेवेल या एडमिन मेन्यू का उपयोग करके फिर से बनाया जा सकता है।


4

ध्यान देने वाली एक महत्वपूर्ण बात यह है कि यदि आपके पास बहुत सी स्टाइलशीट हैं (या तो आपके विषय से या मॉड्यूल से), तो सीएसएस फ़ाइल को बंद करके अनुकूलन करने से आईई में आपकी साइट को तोड़ने की क्षमता है।

हालांकि वास्तव में कैशिंग नहीं है, यह एक ही सेटिंग पृष्ठ पर है और अक्सर इसका उपयोग कैशिंग के साथ किया जाता है।

व्यवस्थापक मेनू मॉड्यूल में "फ्लश ऑल कैश" लिंक शानदार है।


यदि आप IE के बारे में चिंतित हैं, तो आप drupal.org/project/ie_css_optimizer
realityloop

3

यदि आप Drupal 6 का उपयोग कर रहे हैं, तो " कैशे डिसेबल " मॉड्यूल उस कार्य के लिए आसान हो सकता है यदि आप नहीं चाहते हैं [किसी कारण से] देवल जैसे भारी मॉड्यूल को स्थापित करने के लिए।


2

पुराना सवाल है, लेकिन मैंने अभी देखा कि मैं जो खोज कर रहा था, उससे संबंधित है।

लगभग सभी कैश समाशोधन विधियों के अंत में drupal_flush_all_caches कॉलिंग समाप्त हो जाती है। आप इसे विभिन्न परिस्थितियों में अपने स्वयं के कोड में कॉल करके खेल सकते हैं।


2

द्रुपाल के साथ इस्तेमाल किए जाने वाले कैश की मात्रा कभी-कभी पागल हो सकती है।

यहाँ Drupal caches को अक्षम और साफ़ करने के सामान्य तरीके हैं और इसके साथ जुड़े हैं।


छूटने के कारण:

ध्यान दें कि आप सभी कैश को अक्षम नहीं कर सकते, क्योंकि उनमें से कुछ ड्रुपल द्वारा आवश्यक हैं।

यहां आपकी सेटिंग फ़ाइल में निम्न पंक्तियों को जोड़कर कैश को अक्षम करने की एक विधि दी गई है:

// Disable caches
$conf['cache'] = 0;
$conf['block_cache'] = 0;
$conf['views_skip_cache'] = TRUE;
$conf['page_compression'] = 0;
$conf['preprocess_css'] = 0;
$conf['preprocess_js'] = 0;

यदि आप अपने सभी कैश को निष्क्रिय कर देते हैं, तो आपकी वेबसाइट बहुत धीमी हो जाएगी, इसलिए यह किसी भी अन्य वातावरण के लिए अनुशंसित नहीं है जो आपकी विकास मशीन को छूट देता है।


साफ कर रहे हैं

XCache

यदि प्रयोग किया जाता है तो XCache कैश साफ़ करें:

drush eval "function_exists('xcache_clear_cache') && xcache_clear_cache();"

या व्यवस्थापक पैनल (/ xcache-admin) में XCache में कैश साफ़ करें यदि ऊपर काम नहीं करेगा।

eAccelerator

drush eval "function_exists('accelerator_reset') && accelerator_reset();"

एपीसी

drush eval "function_exists('apc_clear_cache') && apc_clear_cache();"

OPCache

PHP> = 5.5 के साथ उपयोग करने पर PHP OPCache साफ़ करें

drush eval "function_exists('opcache_reset') && opcache_reset();"

नोट: ऊपर CLI कमांड अपाचे के लिए कैश को स्पष्ट नहीं करेगा, जैसा कि: Opcache - PHP5.4 और कम में कैश साफ़ करें

memcached

यदि आप मेमकाटेड का उपयोग कर रहे हैं, तो आपको अपने मेमेकैड को एक विधि से स्पष्ट, पुनः आरंभ या मारना चाहिए:

एक उपयोगकर्ता के रूप में (इनमें से एक):

echo flush_all > /dev/tcp/127.0.0.1/11211
echo flush_all | nc localhost 11211 # Flush Contents Of a Memcached Server

मूल के रूप में (इनमें से एक):

/etc/init.d/rc.d/memcached restart
service memcached restart
killall memcached # It's automatically restarted on OSX.

यह आपकी सेटिंग फ़ाइल में निम्नलिखित पंक्ति के साथ मेमक्श्ड मॉड्यूल स्थापित करने की सलाह दी जाती है:

$conf['cache_backends'][] = 'sites/all/modules/contrib/memcache/memcache.inc';

तो मेम्केच्ड कैश मानक Drupal clear cache पर क्लियर किया जाता है।

वार्निश

यदि आप वार्निश का उपयोग कर रहे हैं, तो वार्निश मॉड्यूल को स्थापित करने और अपनी सेटिंग फ़ाइल में निम्न पंक्ति सेट करने की सलाह दी जाती है :

$conf['cache_backends'][] = 'sites/all/modules/contrib/varnish/varnish.cache.inc';

इसलिए Drupal clear cache पर Varnish cache को एक साथ क्लियर किया जाएगा।

वैकल्पिक रूप से आप पृष्ठों को मैन्युअल रूप से साफ़ करने के लिए कर्ल का उपयोग कर सकते हैं:

curl -X PURGE -H "Host: domain.com" http://127.0.0.1/node/123

और पढ़ें: मैं वार्निश कैश को कैसे साफ़ कर सकता हूं?

Drupal

ड्रुप के माध्यम से ड्रुपल कैश साफ़ करें:

drush cc all
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "DELETE FROM %;" | $(drush sql-connect) -v
drush eval 'menu_rebuild();'

आप / व्यवस्थापक / कॉन्फ़िगरेशन / विकास / प्रदर्शन पर ऐसा ही कर सकते हैं, क्योंकि कभी-कभी UI कैश क्लियर से बेहतर तरीके से साफ हो जाते हैं।


यहाँ सभी कैश को साफ़ करने के लिए उपयोगी शेल स्क्रिप्ट है:

#!/bin/bash
set -o xtrace
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "DELETE FROM %;" | $(drush sql-connect) -v
echo 'flush_all' | nc localhost 11211 # Flush Contents Of a Memcached Server
drush eval "function_exists('opcache_reset') && opcache_reset(); function_exists('xcache_clear_cache') && xcache_clear_cache();"
drush eval 'menu_rebuild();'
set -o xtrace -
echo done.

3
OPCache CLI से काम नहीं करेगा, उदाहरण के लिए
अन्वेषण

0

ड्रुपल में कैश को साफ करने के लिए हम निम्नलिखित तरीकों में से एक का उपयोग कर सकते हैं

1.) हम सिर्फ url your_domain / admin / config / development / प्रदर्शन पर जा सकते हैं और स्पष्ट कैश बटन पर क्लिक कर सकते हैं।

2.) अगर हमने ड्रश मॉड्यूल स्थापित किया है, तो हम इस ड्रुक cc सभी कमांड द्वारा कैश क्लियर कर सकते हैं ।

3.) यदि हमारे पास डेटाबेस का उपयोग है तो हम निम्नलिखित आदेशों के साथ कैश को साफ़ कर सकते हैं (उत्पादन डेटाबेस तक सीधी पहुंच की सिफारिश नहीं की जाती है, यदि आपकी साइट "लाइव" है तो इसके बजाय विकल्पों में से एक का उपयोग करें)

ट्रिब्यूट टेबल कैश;

TRUNCATE TABLE cache_block;

TRUNCATE TABLE cache_bootstrap;

TRUNCATE TABLE cache_field;

ट्रिब्यूट टेबल कैश_फिल्टर;

TRUNCATE टेबल कैश_फॉर्म; // अन्य कैश_ * तालिकाओं से महत्वपूर्ण अंतर नोट करें - नीचे अधिक जानकारी देखें

TRUNCATE TABLE cache_image;

TRUNCATE टेबल कैश_मेनू;

TRUNCATE TABLE cache_page;

TRUNCATE TABLE cache_path;

TRUNCATE TABLE cache_token;

TRUNCATE TABLE cache_update;

4.) हम अपने मॉड्यूल फ़ाइल db_query ("DELETE FROM {cache};") में क्वेरी भी लिख सकते हैं;

5.) कैश को क्लियर करने के लिए हम drupal api का उपयोग कर सकते हैं जैसे cache_clear_all ()

6.) हम भी devel मॉड्यूल द्वारा कैश को हटा सकते हैं devel मॉड्यूल इंस्टॉल करें और "डेवलपर / विकास खंड" को सक्षम करें इससे हम कैश को साफ़ कर सकते हैं

Cache_form के बारे में अधिक जानकारी, जिसका अन्य cache_ तालिकाओं से अलग उद्देश्य है :

  • drupal_flush_all_caches के लिए कोर एपीआई डॉक्स () कहते हैं "कैश_फ़ॉर्म को साफ़ न करें - प्रगति प्रपत्र प्रस्तुतियाँ टूट सकती हैं।" यह चिंता केवल सक्रिय उपयोगकर्ताओं वाली साइटों पर लागू होती है न कि विकास संस्करणों के लिए।

  • इस पोस्ट में वर्णित कैश को साफ़ करने के अन्य मैनुअल तरीके cache_form को प्रभावित नहीं करेंगे

  • यदि आपको किसी उत्पादन साइट पर cache_form के आकार को छोटा करने की आवश्यकता है, तो देखें कि Cache Form तालिका का आकार बहुत बड़ा है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.