Created
October 4, 2011 19:12
-
-
Save fbrnc/1262502 to your computer and use it in GitHub Desktop.
Magento priority configuration for TwoLevels cache backend
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: app/code/core/Mage/Core/Model/Cache.php | |
=================================================================== | |
--- app/code/core/Mage/Core/Model/Cache.php (revision 124392) | |
+++ app/code/core/Mage/Core/Model/Cache.php (working copy) | |
@@ -44,7 +44,7 @@ | |
/** | |
* Cache frontend API | |
* | |
- * @var Zend_Cache_Core | |
+ * @var Varien_Cache_Core | |
*/ | |
protected $_frontend = null; | |
@@ -115,6 +115,9 @@ | |
$this->_frontend = Zend_Cache::factory('Varien_Cache_Core', $backend['type'], $frontend, $backend['options'], | |
true, true, true | |
); | |
+ if (isset($options['default_priority'])) { | |
+ $this->_frontend->setDefaultPriority($options['default_priority']); | |
+ } | |
if (isset($options['request_processors'])) { | |
$this->_requestProcessors = $options['request_processors']; | |
@@ -235,7 +238,7 @@ | |
$options['fast_backend_autoload'] = true; | |
$options['slow_backend_custom_naming'] = true; | |
$options['slow_backend_autoload'] = true; | |
- | |
+ | |
if (isset($cacheOptions['auto_refresh_fast_cache'])) { | |
$options['auto_refresh_fast_cache'] = (bool)$cacheOptions['auto_refresh_fast_cache']; | |
} else { | |
Index: lib/Zend/Cache/Backend/TwoLevels.php | |
=================================================================== | |
--- lib/Zend/Cache/Backend/TwoLevels.php (revision 124392) | |
+++ lib/Zend/Cache/Backend/TwoLevels.php (working copy) | |
@@ -443,7 +443,7 @@ | |
'automatic_cleaning' => $slowBackendCapabilities['automatic_cleaning'], | |
'tags' => $slowBackendCapabilities['tags'], | |
'expired_read' => $slowBackendCapabilities['expired_read'], | |
- 'priority' => $slowBackendCapabilities['priority'], | |
+ 'priority' => true, | |
'infinite_lifetime' => $slowBackendCapabilities['infinite_lifetime'], | |
'get_list' => $slowBackendCapabilities['get_list'] | |
); | |
Index: lib/Varien/Cache/Core.php | |
=================================================================== | |
--- lib/Varien/Cache/Core.php (revision 124392) | |
+++ lib/Varien/Cache/Core.php (working copy) | |
@@ -26,6 +26,23 @@ | |
class Varien_Cache_Core extends Zend_Cache_Core | |
{ | |
+ | |
+ /** | |
+ * @var int default cache priority | |
+ */ | |
+ protected $defaultPriority = 8; | |
+ | |
+ /** | |
+ * Set default priority | |
+ * | |
+ * @param int $defaultPriority | |
+ * @return Varien_Cache_Core | |
+ */ | |
+ public function setDefaultPriority($defaultPriority) { | |
+ $this->defaultPriority = $defaultPriority; | |
+ return $this; | |
+ } | |
+ | |
/** | |
* Make and return a cache id | |
* | |
@@ -70,8 +87,11 @@ | |
* @throws Zend_Cache_Exception | |
* @return boolean True if no problem | |
*/ | |
- public function save($data, $id = null, $tags = array(), $specificLifetime = false, $priority = 8) | |
+ public function save($data, $id = null, $tags = array(), $specificLifetime = false, $priority = NULL) | |
{ | |
+ if (is_null($priority)) { | |
+ $priority = $this->defaultPriority; | |
+ } | |
$tags = $this->_tags($tags); | |
return parent::save($data, $id, $tags, $specificLifetime, $priority); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment