it-swarm.asia

هل يمكنني إيقاف تشغيل ذاكرة التخزين المؤقت لنشر التطوير؟

على التخزين المؤقت منصة التنمية يمكن أن يكون الألم. هل يمكنني إيقاف تشغيله؟ هل ستؤثر على أي من الوحدات التي تتطلب ذلك؟

23
palbakulich

تثبيت devel module الذي يضيف خيار مسح ذاكرة التخزين المؤقت للمسؤولين. ستجد كتلة devel لإضافتها إلى منطقة لمسح ذاكرة التخزين المؤقت السريع ، أو إذا قمت بتثبيت قائمة المسؤول وتحصل على قائمة سريعة في الجزء العلوي الأيسر لمسح ذاكرة التخزين المؤقت المختلفة في Drupal.

إذا كنت ترغب في تثبيت سطر الأوامر drush واستخدم drush cc all أمر لمسح ذاكرة التخزين المؤقت لمواقعك. احذر أن المسح الحالي cc لا يمسح ذاكرة التخزين المؤقت للورنيش إذا كان ذلك ينطبق على الإعداد الخاص بك.

20
budda

إذا كنت تستخدم Drupal 7 يمكنك دائمًا ضبط التخزين المؤقت على استخدام DrupalFakeCache ، والذي يُستخدم عادةً فقط أثناء عملية التثبيت. لتعيين ذلك ، قم بإسقاط مقتطف الشفرة التالي في الإعدادات الخاصة بك. php:

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

ستسمح لك صفحة "الأداء" في الإدارة> تكوين الموقع بتمكين/تعطيل التخزين المؤقت لعناصر الموقع المحددة. عادةً ما يتم تخزين قوالب السمات بشكل مؤقت بشكل أكثر ثباتًا ولكن يمكن مسحها في نفس صفحة "الأداء".

ستوفر وحدة "قائمة الإدارة" اختصارًا في شريط الأدوات إذا كانت عمليات مسح ذاكرة التخزين المؤقت تحتاج إلى القيام بها بشكل أكثر انتظامًا - أثناء تطوير السمة ، أجد نفسي أتدفق باستمرار.

4
Storsey

على حد علمي لا توجد أي وحدات تتطلب تخزين مؤقت. إذا كنت لا تريد إيقاف تشغيله ، يمكنك مسحه في Site Settings > Performance الجزء.

حتى مع تعطيل التخزين المؤقت Drupal على الملفات الجديدة المضافة إلى السمات حتى تقوم بمسح ذاكرة التخزين المؤقت.

هناك بعض المعلومات حول طرق مختلفة لمسح ذاكرة التخزين المؤقت على Drupal.org

4
Paul Jones

بالإضافة إلى الطرق Steve H المذكور ، فإن استخدام الوحدة Devel تفتح المزيد من الخيارات ، بما في ذلك:

  • إعادة إنشاء ذاكرة التخزين المؤقت للنسق عند كل تحميل للصفحة (مفيد إذا كنت مستخدمًا تعمل على ملفات القالب)
  • كتلة ستوفر وصولاً سهلاً إلى وظيفة التخزين المؤقت الفارغ وإعادة التثبيت.

مع إيقاف تشغيل وحدة Devel وذاكرة التخزين المؤقت تحت الأداء ، فإن ذاكرة التخزين المؤقت الرئيسية الأخرى التي ستواجهها في التطوير الروتيني هي موجه القائمة ، والذي يمكن أعيد بناؤها إما باستخدام قائمة Devel أو Admin كما ذكر ستيف.

4
user7

أحد الأشياء المهمة التي يجب ملاحظتها هو أنه إذا كان لديك الكثير من أوراق الأنماط (إما من السمة أو من الوحدات النمطية) ، فإن إيقاف تشغيل تحسين ملف CSS لديه القدرة على كسر موقعك في IE.

على الرغم من عدم التخزين المؤقت الفعلي ، إلا أنه موجود في نفس صفحة الإعدادات وغالبًا ما يُستخدم مع التخزين المؤقت.

بالمناسبة ، فإن رابط "مسح جميع ذاكرة التخزين المؤقت" في وحدة قائمة المشرف رائع.

4
epersonae

إذا كنت تستخدم Drupal 6 ، يمكن أن تكون وحدة " تعطيل ذاكرة التخزين المؤقت " مفيدة لهذه المهمة إذا كنت لا ترغب في [لسبب ما] تثبيت وحدات أثقل مثل Devel.

3
wildpeaks

كمية التخزين المؤقت المستخدم مع Drupal قد يصاب بالجنون في بعض الأحيان.

فيما يلي الطرق الشائعة لتعطيل ومسح Drupal والمرتبطة بها.


مخابئ تعطيل:

لاحظ أنه لا يمكنك تعطيل جميع ذاكرات التخزين المؤقت ، لأن Drupal مطلوب بعضها.

إليك طريقة لتعطيل التخزين المؤقت بإضافة الأسطر التالية إلى ملف الإعدادات:

// 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 في لوحة المشرف (/ xcache-admin) إذا لم يعمل أعلاه.

مسرع إلكتروني

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

[~ # ~] apc [~ # ~]

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

OPCache

مسح PHP OPCache إذا كنت تستخدم مع PHP> = 5.5

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

ملحوظة: لن يقوم أمر CLI أعلاه بمسح ذاكرة التخزين المؤقت لـ Apache ، وفقًا لما يلي: Opcache - تنظيف ذاكرة التخزين المؤقت في PHP5.4 وأدناه .

memcached

إذا كنت تستخدم memcached ، فيجب عليك مسح 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.

ينصح أيضًا بتثبيت وحدة memcached مع السطر التالي في ملف الإعدادات:

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

لذلك يتم مسح ذاكرة التخزين المؤقت Memcached على المعيار Drupal مسح ذاكرة التخزين المؤقت.

الورنيش

إذا كنت تستخدم Varnish ، يُنصح بتثبيت Varnish الوحدة وتعيين السطر التالي في ملف الإعدادات:

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

لذا سيتم مسح ذاكرة التخزين المؤقت للورنيش معًا على Drupal.

بدلاً من ذلك ، يمكنك استخدام curl لمسح الصفحات يدويًا:

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

اقرأ المزيد: كيف يمكنني مسح ذاكرة التخزين المؤقت للورنيش؟

دروبال

مسح Drupal عبر drushal:

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();'

يمكنك القيام بنفس الشيء على/admin/config/development/performance ، حيث يتم أحيانًا مسح ذاكرة التخزين المؤقت لواجهة المستخدم بطريقة أفضل من CLI.


في ما يلي نص برنامج Shell المفيد لمسح جميع ذاكرة التخزين المؤقت:

#!/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.
2
kenorb

سؤال قديم ، لكنني رأيت للتو أنه ظهر على أنه سؤال متعلق ببحث كنت أقوم به.

تقريبًا جميع طرق مسح ذاكرة التخزين المؤقت تنتهي بالاتصال drupal_flush_all_caches في النهاية. يمكنك اللعب مع استدعاء هذا في ظروف مختلفة في التعليمات البرمجية الخاصة بك.

2
mpdonadio

يمكننا استخدام إحدى الطرق التالية لمسح ذاكرة التخزين المؤقت في دروبال

1.) يمكننا فقط زيارة url your_domain/admin/config/development/performance وانقر فوق مسح ذاكرة التخزين المؤقت.

2.) إذا قمنا بتثبيت وحدة drush ، فيمكننا مسح ذاكرة التخزين المؤقت عن طريق هذا الأمر drush cc all .

3.) إذا كان لدينا حق الوصول إلى قاعدة البيانات ، فيمكننا مسح ذاكرة التخزين المؤقت باستخدام الأوامر التالية (لا ينصح بالوصول المباشر إلى قاعدة بيانات الإنتاج ؛ استخدم أحد البدائل بدلاً من ذلك إذا كان موقعك "مباشر")

ذاكرة التخزين المؤقت جدول TRUNCATE؛

TRUNCATE TABLE cache_block ؛

TRUNCATE TABLE cache_bootstrap ،

TRUNCATE TABLE cache_field ؛

TRUNCATE TABLE cache_filter ؛

TRUNCATE TABLE cache_form ؛ // لاحظ الاختلافات المهمة عن جداول ذاكرة التخزين المؤقت * الأخرى - راجع مزيدًا من المعلومات أدناه

TRUNCATE TABLE cache_image ؛

TRUNCATE TABLE cache_menu ،

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 ، والتي لها غرض مختلف عن ذاكرة التخزين المؤقت الأخرى _ الجداول:

  • تقول مستندات واجهة برمجة التطبيقات الأساسية لـ drupal_flush_all_caches () "عدم محو نموذج ذاكرة التخزين المؤقت - قد تتعطل عمليات إرسال النموذج قيد التقدم." ينطبق هذا القلق فقط على المواقع ذات المستخدمين النشطين وليس على إصدارات التطوير.

  • لن تؤثر الطرق اليدوية الأخرى لمسح ذاكرة التخزين المؤقت الموضحة في هذا المنشور على cache_form

  • إذا كنت بحاجة إلى تقليص حجم نموذج cache_form في موقع الإنتاج ، فراجع حجم جدول نموذج ذاكرة التخزين المؤقت كبير

0
SynapseIndia