public function getCache()
	{
		if( !isset( $this->_object ) )
		{
			/** madmin/cache/manager/default/deletebytag
			 * Deletes the items from the database matched by the given tags
			 *
			 * Removes the records specified by the given tags from the cache database.
			 * The records must be from the site that is configured via the
			 * context item.
			 *
			 * The ":cond" placeholder is replaced by the name of the tag column and
			 * the given tag or list of tags.
			 *
			 * The SQL statement should conform to the ANSI standard to be
			 * compatible with most relational database systems. This also
			 * includes using double quotes for table and column names.
			 *
			 * @param string SQL statement for deleting items by tags
			 * @since 2014.03
			 * @category Developer
			 * @see madmin/cache/manager/default/delete
			 * @see madmin/cache/manager/default/get
			 * @see madmin/cache/manager/default/getbytag
			 * @see madmin/cache/manager/default/set
			 * @see madmin/cache/manager/default/settag
			 * @see madmin/cache/manager/default/search
			 * @see madmin/cache/manager/default/count
			 */

			/** madmin/cache/manager/default/getbytag
			 * Retrieves the records from the database matched by the given tags
			 *
			 * Fetches the records matched by the given tags from the cache
			 * database. The records must be from the sites that is
			 * configured in the context item.
			 *
			 * The SQL statement should conform to the ANSI standard to be
			 * compatible with most relational database systems. This also
			 * includes using double quotes for table and column names.
			 *
			 * @param string SQL statement for retrieving items by tag
			 * @since 2014.03
			 * @category Developer
			 * @see madmin/cache/manager/default/delete
			 * @see madmin/cache/manager/default/deletebytag
			 * @see madmin/cache/manager/default/get
			 * @see madmin/cache/manager/default/set
			 * @see madmin/cache/manager/default/settag
			 * @see madmin/cache/manager/default/search
			 * @see madmin/cache/manager/default/count
			 */

			/** madmin/cache/manager/default/get
			 * Retrieves the records matched by the given criteria in the database
			 *
			 * Fetches the records matched by the given criteria from the cache
			 * database. The records must be from the sites that is
			 * configured in the context item.
			 *
			 * To limit the records matched, conditions can be added to the given
			 * criteria object. It can contain comparisons like column names that
			 * must match specific values which can be combined by AND, OR or NOT
			 * operators. The resulting string of SQL conditions replaces the
			 * ":cond" placeholder before the statement is sent to the database
			 * server.
			 *
			 * The SQL statement should conform to the ANSI standard to be
			 * compatible with most relational database systems. This also
			 * includes using double quotes for table and column names.
			 *
			 * @param string SQL statement for searching items
			 * @since 2014.03
			 * @category Developer
			 * @see madmin/cache/manager/default/getbytag
			 * @see madmin/cache/manager/default/delete
			 * @see madmin/cache/manager/default/deletebytag
			 * @see madmin/cache/manager/default/set
			 * @see madmin/cache/manager/default/settag
			 * @see madmin/cache/manager/default/search
			 * @see madmin/cache/manager/default/count
			 */

			$context = $this->_getContext();
			$config = $context->getConfig();

			$name = $config->get( 'resource/db/adapter' );
			$name = $config->get( 'resource/db-cache/adapter', $name );

			/** classes/cache/name
			 * Specifies the name of the cache class implementation
			 *
			 * There are several implementations available for integrating caches
			 * or providing optimized implementations for certain environments.
			 * This configuration option allows to change the cache implementation
			 * by setting the name of the MW_Cache_* class.
			 *
			 * @param string Name of the cache class
			 * @since 2014.09
			 * @category Developer
			 */
			$name = $config->get( 'classes/cache/name', $name );
			$config = array(
				'search' => $this->_searchConfig,
				'dbname' => $this->_getResourceName(),
				'siteid' => $context->getLocale()->getSiteId(),
				'sql' => array(
					'delete' => $config->get( 'madmin/cache/manager/default/delete' ),
					'deletebytag' => $config->get( 'madmin/cache/manager/default/deletebytag' ),
					'getbytag' => $config->get( 'madmin/cache/manager/default/getbytag' ),
					'get' => $config->get( 'madmin/cache/manager/default/get' ),
					'set' => $config->get( 'madmin/cache/manager/default/set' ),
					'settag' => $config->get( 'madmin/cache/manager/default/settag' ),
				),
			);
			$dbm = $context->getDatabaseManager();

			try {
				$this->_object = MW_Cache_Factory::createManager( $name, $config, $dbm );
			} catch( Exception $e ) {
				$this->_object = MW_Cache_Factory::createManager( 'DB', $config, $dbm );
			}
		}

		return $this->_object;
	}