Fixed bug #15497: [Caching framework] Remove tagIndex from memcached and apc backend
authorChristian Kuhn <lolli@schwarzbu.ch>
Thu, 16 Sep 2010 16:13:35 +0000 (16:13 +0000)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 16 Sep 2010 16:13:35 +0000 (16:13 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@8798 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/cache/backend/class.t3lib_cache_backend_apcbackend.php
t3lib/cache/backend/class.t3lib_cache_backend_memcachedbackend.php

index 89d7c81..1e6496a 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-09-16  Christian Kuhn  <lolli@schwarzbu.ch>
+
+       * Fixed bug #15497: [Caching framework] Remove tagIndex from memcached and apc backend
+
 2010-09-16  Dmitry Dulepov  <dmitry@typo3.org>
 
        * Fixed bug #15531: jumpurl check fails if mime type is not known
index 9373d21..dff157b 100644 (file)
@@ -35,9 +35,7 @@
  *   xxx is identifier, value is array of associated tags. This is "reverse" tag
  *   index. It provides quick access for all tags associated with this identifier
  *   and used when removing the identifier
- * - tagIndex
- *   Value is a List of all tags (array)
-
+ *
  * Each key is prepended with a prefix. By default prefix consists from two parts
  * separated by underscore character and ends in yet another underscore character:
  * - "TYPO3"
@@ -128,7 +126,6 @@ class t3lib_cache_backend_ApcBackend extends t3lib_cache_backend_AbstractBackend
                $success = apc_store($this->identifierPrefix . $entryIdentifier, $data, $expiration);
                if ($success === TRUE) {
                        $this->removeIdentifierFromAllTags($entryIdentifier);
-                       $this->addTagsToTagIndex($tags);
                        $this->addIdentifierToTags($entryIdentifier, $tags);
                } else {
                        throw new t3lib_cache_Exception(
@@ -289,55 +286,6 @@ class t3lib_cache_backend_ApcBackend extends t3lib_cache_backend_AbstractBackend
        }
 
        /**
-        * Returns an array with all known tags
-        *
-        * @return array
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        */
-       protected function getTagIndex() {
-               $success = FALSE;
-               $tagIndex = apc_fetch($this->identifierPrefix . 'tagIndex', $success);
-
-               return ($success ? (array)$tagIndex : array());
-       }
-
-       /**
-        * Saves the tags known to the backend
-        *
-        * @param array $tags
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        */
-       protected function setTagIndex(array $tags) {
-               apc_store($this->identifierPrefix . 'tagIndex', array_unique($tags));
-       }
-
-       /**
-        * Adds the given tags to the tag index
-        *
-        * @param array $tags
-        * @return void
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        */
-       protected function addTagsToTagIndex(array $tags) {
-               if (count($tags)) {
-                       $this->setTagIndex(array_merge($tags, $this->getTagIndex()));
-               }
-       }
-
-       /**
-        * Removes the given tags from the tag index
-        *
-        * @param array $tags
-        * @return void
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        */
-       protected function removeTagsFromTagIndex(array $tags) {
-               if (count($tags)) {
-                       $this->setTagIndex(array_diff($this->getTagIndex(), $tags));
-               }
-       }
-
-       /**
         * Associates the identifier with the given tags
         *
         * @param string $entryIdentifier
@@ -387,7 +335,6 @@ class t3lib_cache_backend_ApcBackend extends t3lib_cache_backend_AbstractBackend
                                if (count($identifiers)) {
                                        apc_store($this->identifierPrefix . 'tag_' . $tag, $identifiers);
                                } else {
-                                       $this->removeTagsFromTagIndex(array($tag));
                                        apc_delete($this->identifierPrefix . 'tag_' . $tag);
                                }
                        }
index 4531d0d..dcfb5a5 100644 (file)
@@ -35,8 +35,7 @@
  *   xxx is identifier, value is array of associated tags. This is "reverse" tag
  *   index. It provides quick access for all tags associated with this identifier
  *   and used when removing the identifier
- * - tagIndex
- *   Value is a List of all tags (array)
+ *
  * Each key is prepended with a prefix. By default prefix consists from two parts
  * separated by underscore character and ends in yet another underscore character:
  * - "TYPO3"
@@ -275,7 +274,6 @@ class t3lib_cache_backend_MemcachedBackend extends t3lib_cache_backend_AbstractB
 
                        if ($success === TRUE) {
                                $this->removeIdentifierFromAllTags($entryIdentifier);
-                               $this->addTagsToTagIndex($tags);
                                $this->addIdentifierToTags($entryIdentifier, $tags);
                        } else {
                                throw new t3lib_cache_Exception(
@@ -430,57 +428,6 @@ class t3lib_cache_backend_MemcachedBackend extends t3lib_cache_backend_AbstractB
        }
 
        /**
-        * Returns an array with all known tags
-        *
-        * @return array
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        * @internal
-        */
-       protected function getTagIndex() {
-               $tagIndex = $this->memcache->get($this->identifierPrefix . 'tagIndex');
-               return ($tagIndex == false ? array() : (array)$tagIndex);
-       }
-
-       /**
-        * Saves the tags known to the backend
-        *
-        * @param array Array of tags
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        * @internal
-        */
-       protected function setTagIndex(array $tags) {
-               $this->memcache->set($this->identifierPrefix . 'tagIndex', array_unique($tags), 0, 0);
-       }
-
-       /**
-        * Adds the given tags to the tag index
-        *
-        * @param array Array of tags
-        * @return void
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        * @internal
-        */
-       protected function addTagsToTagIndex(array $tags) {
-               if(count($tags)) {
-                       $this->setTagIndex(array_merge($tags, $this->getTagIndex()));
-               }
-       }
-
-       /**
-        * Removes the given tags from the tag index
-        *
-        * @param array $tags
-        * @return void
-        * @author Karsten Dambekalns <karsten@typo3.org>
-        * @internal
-        */
-       protected function removeTagsFromTagIndex(array $tags) {
-               if(count($tags)) {
-                       $this->setTagIndex(array_diff($this->getTagIndex(), $tags));
-               }
-       }
-
-       /**
         * Associates the identifier with the given tags
         *
         * @param string $entryIdentifier
@@ -540,7 +487,6 @@ class t3lib_cache_backend_MemcachedBackend extends t3lib_cache_backend_AbstractB
                                                        $identifiers
                                                );
                                        } else {
-                                               $this->removeTagsFromTagIndex(array($tag));
                                                $this->memcache->delete($this->identifierPrefix . 'tag_' . $tag);
                                        }
                                }