/** * Adds a new cache to the storage. * * @param \Aimeos\MAdmin\Cache\Item\Iface $item Cache item that should be saved to the storage * @param boolean $fetch True if the new ID should be returned in the item */ public function saveItem(\Aimeos\MShop\Common\Item\Iface $item, $fetch = true) { $iface = '\\Aimeos\\MAdmin\\Cache\\Item\\Iface'; if (!$item instanceof $iface) { throw new \Aimeos\MAdmin\Cache\Exception(sprintf('Object is not of required type "%1$s"', $iface)); } if (!$item->isModified()) { return; } $id = $item->getId(); $cache = $this->getCache(); $cache->delete($id); $cache->set($id, $item->getValue(), $item->getTags(), $item->getTimeExpire()); }
/** * Adds a new cache to the storage. * * @param \Aimeos\MAdmin\Cache\Item\Iface $item Cache item that should be saved to the storage * @param boolean $fetch True if the new ID should be returned in the item */ public function saveItem(\Aimeos\MShop\Common\Item\Iface $item, $fetch = true) { $iface = '\\Aimeos\\MAdmin\\Cache\\Item\\Iface'; if (!$item instanceof $iface) { throw new \Aimeos\MAdmin\Cache\Exception(sprintf('Object is not of required type "%1$s"', $iface)); } if (!$item->isModified()) { return; } /** madmin/cache/manager/standard/set/mysql * Inserts the cache entry into the database * * @see madmin/cache/manager/standard/set/ansi */ /** madmin/cache/manager/standard/set/ansi * Inserts the cache entry into the database * * The ID, value and expiration timestamp are inserted as new record * into the cache database. Any existing record must be deleted before * the new one can be inserted. * * The SQL statement must be a string suitable for being used as * prepared statement. It must include question marks for binding * the values from the cache item to the statement before they are * sent to the database server. The number of question marks must * be the same as the number of columns listed in the INSERT * statement. The order of the columns must correspond to the * order in the set() method, so the correct values are bound to the * columns. * * 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 inserting a new cache entry * @since 2014.03 * @category Developer * @see madmin/cache/manager/standard/delete/ansi * @see madmin/cache/manager/standard/deletebytag/ansi * @see madmin/cache/manager/standard/get/ansi * @see madmin/cache/manager/standard/getbytag/ansi * @see madmin/cache/manager/standard/settag/ansi * @see madmin/cache/manager/standard/search/ansi * @see madmin/cache/manager/standard/count/ansi */ /** madmin/cache/manager/standard/settag/mysql * Inserts a new tag to an existing cache entry * * @see madmin/cache/manager/standard/settag/ansi */ /** madmin/cache/manager/standard/settag/ansi * Inserts a new tag to an existing cache entry * * The ID of the cache entry and the tag name are inserted as a new * record into the cache database. Any existing tag record that * conflicts with the new one must be deleted before it can be inserted. * * The SQL statement must be a string suitable for being used as * prepared statement. It must include question marks for binding * the cache ID and tag name from the cache item to the statement * before they are sent to the database server. The number of question * marks must be the same as the number of columns listed in the INSERT * statement. The order of the columns must correspond to the order in * the saveItems() method, so the correct values are bound to the * columns. * * 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 inserting a new tag to an existing cache entry * @since 2014.03 * @category Developer * @see madmin/cache/manager/standard/delete/ansi * @see madmin/cache/manager/standard/deletebytag/ansi * @see madmin/cache/manager/standard/get/ansi * @see madmin/cache/manager/standard/getbytag/ansi * @see madmin/cache/manager/standard/set/ansi * @see madmin/cache/manager/standard/search/ansi * @see madmin/cache/manager/standard/count/ansi */ $id = $item->getId(); $cache = $this->getCache(); $cache->delete($id); $cache->set($id, $item->getValue(), $item->getTags(), $item->getTimeExpire()); }