Magento 관리자의 캐시 관리에서 캐시가 무효화 된 것으로 표시되면 무엇을 의미합니까? Magento는 캐시가 무효화 된 것을 어떻게 알 수 있습니까? 특히 HTML 블록 캐시에 대해 궁금합니다. 어떤 조건으로 인해이 캐시가 무효로 표시됩니까?Magento에서 "유효하지 않은"캐시의 의미는 무엇입니까?
답변
Magento에서는 제품, 정적 블록 등을 변경할 때마다 데이터베이스의 데이터가 더 이상 캐시에있는 것과 동일하지 않다는 것을 인식합니다. 죄송 합니다만 Magento는 무엇을 캐시 데이터가 다른지 알지 못합니다. 단지 무언가가과 다릅니다.
시스템> 캐시 관리으로 이동하고 유효하지 않은 캐시 유형을 새로 고침해야합니다.
편집 :
이 모듈을 만들고 (또는 기존 모듈 사용) 캐시를 새로 고치는 cron 작업을 설정하는 데 사용할 수 있습니다. {네임 스페이스} 해당 파일 내부/{모듈 이름} /Model/Observer.php
: 파일 만들기에서
<?php
class <namespace>_<modulename>_Model_Observer {
public function refreshCache() {
try {
$allTypes = Mage::app()->useCache();
foreach($allTypes as $type => $blah) {
Mage::app()->getCacheInstance()->cleanType($type);
}
} catch (Exception $e) {
// do something
error_log($e->getMessage());
}
}
}
을 모듈의 등/config.xml에 : 이제
<config>
...
<crontab>
<jobs>
<{modulename}_refresh_cache>
<schedule><cron_expr>* * * * *</cron_expr></schedule>
<run><model>{modulename}/observer::refreshCache</model></run>
</{modulename}_refresh_cache>
</jobs>
</crontab>
...
</config>
로 cron이 서버에서 올바르게 구성되어 있으면 cron이 실행될 때마다 캐시가 자동으로 업데이트됩니다.
2015 : AOE Sheduler는 cronjob으로 캐시를 지울 수 있습니다. 변경 작업
"core_clean_cache"
59 * * * *
에 (매일 2시 반)30 2 * * *
에서
(각 59 분).
@Magento Guy의 대답은 정확하지만 아래의 해결책은 Magento의 무효화 된 캐시를 새로 고치는 데 도움이 될 수 있다고 생각합니다.
저는 Bitnami Magento Stack을 사용합니다. 아래의 해결책은 내가 찾은 최고의 해결책이었습니다.
나는 Mage_Shell_Class PHP 파일을 만들려고했으나 성공하지 못했습니다. (잘못된 캐시 배열은 실행될 때 항상 비어 있었고, 무엇이 문제인지는 모르겠습니다).
내가 PHP 파일 'sample.php'만들었습니다
<?php
require 'app/Mage.php';
$invalid = Mage::app()->getCacheInstance()->getInvalidatedTypes();
foreach($invalid as $i)
{
Mage::app()->getCacheInstance()->cleanType($i["id"]);
}
내가 Magento의 루트 폴더에 배치 한, 나는 루트 사용자로 실행되는 cron 작업을 사용하여 시작합니다.
따라서, 루트 사용자에 cronjob를 만들려면 다음
sudo crontab -u root -e
을 그리고 이것은 실행 내 명령 줄을이었다
* * * * * . /opt/bitnami/scripts/setenv.sh ; /opt/bitnami/php/bin/php /opt/bitnami/apps/magento/htdocs/sample.php >> /var/log/cron/cron.log 2>&1
이 라인의 일부 부품이 내 문제에 매우 특별한 있습니다 :
- 무효화 된 캐시를 새로 고치기 때문에 매분마다 실행하기로 결정했습니다.
- setenv.sh는이 특정 bitnami 스택을 다룰 때 환경을 설정하는 데 도움이되는 스크립트입니다.
- 이 스크립트의 출력을 얻으려면 내가 작성한 디렉토리 (/ var/log/log/cron)에 대한 올바른 권한을 부여했습니다.
아마도 cron line 명령을 변경해야하지만 아마 도움이 될 것 같습니다.
- 1. c3p0에서 'testConnectionOnCheckin'의 의미는 무엇입니까?
- 2. /([^.]*)\.(.*)/ 의미는 무엇입니까?
- 3. || = 의미는 무엇입니까?
- 4. Magento에서 getHtml()이란 무엇입니까
- 5. 의미는
- 6. Magento에서 세율을 인출하는 방법은 무엇입니까?
- 7. Magento에서 데이터베이스에 연결하는 방법은 무엇입니까?
- 8. Magento에서 검색을 재정의하는 방법은 무엇입니까?
- 9. 의미는
- 10. jquery/javascript에서 /.*=/ 의미는 무엇입니까?
- 11. 추적 표시의 의미는 무엇입니까?
- 12. DTMobileIS의 의미는 무엇입니까?
- 13. "for (;;)"의 의미는 무엇입니까?
- 14. jquery에서 줄의 의미는 무엇입니까?
- 15. withValueBackReference의 의미는 무엇입니까?
- 16. 이 코드의 의미는 무엇입니까?
- 17. 파싱의 의미는 무엇입니까?
- 18. XAML에서 *의 의미는 무엇입니까
- 19. 이 문장의 의미는 무엇입니까?
- 20. AddressUsageHeap의 의미는 무엇입니까? -summary
- 21. 이 선언의 의미는 무엇입니까?
- 22. document.all의 의미는 무엇입니까?
- 23. startActivityForResult에서 requestCode의 의미는 무엇입니까
- 24. _internal의 의미는 무엇입니까?
- 25. JavaScript에서 $ ('')의 의미는 무엇입니까?
- 26. pthread_create에서 restrict의 의미는 무엇입니까
- 27. svg : svg의 의미는 무엇입니까?
- 28. 다음 코드의 의미는 무엇입니까?
- 29. switch (! 0) 의미는 무엇입니까?
- 30. (버튼)의 의미는 무엇입니까?
캐시를 새로 고치는 방법을 이해합니다. 캐시가 무효화 된 것을 볼 때 수행합니다. 캐시가 무효화되었다는 것을 어떻게 알았는지 정말로 모르겠습니다. 그리고 관련 - 그것은 그것이 무효라는 것을 안다면 왜 자동으로 캐시를 새로 고치지 않습니까? 캐시를 새로 고칠 위험이 있습니까? – localfilmmaker
변경할 때마다 magento가 이벤트를 실행합니다. 관련 이벤트를 무효화하는 이벤트에 대한 리스너가 있습니다. 왜 이렇게하는지 (왜 자동으로 리프레시되지 않는지) 이것은 궁극적으로 디자인 결정이지만 콘텐츠를 준비 할 수있는 것과 관련이 있습니다. 예를 들어 서로 관련된 여러 제품을 변경 한 다음 캐시를 새로 고칠 수 있습니다. cron이 서버에서 실행될 때마다 실행되는 cron 작업으로이를 극복하고 캐시를 자동으로 새로 고치는 기능을 호출합니다. 코드를 포함하도록 원래 답변을 수정하겠습니다. –
아주 나쁜 해결책 : 모든 캐시를 새로 고치는 cron을 설정할 때마다 캐시를 사용 중지하는 것과 같습니다 ... 적어도 캐시가 유효하지 않은지 확인하고 매 10 분/30 분마다 cron을 설정해야합니다. – WonderLand