/** * Sets the value for this key only if the value hasn't changed in the cache * since it was originally pulled * * @param \r8\Cache\Result $result A result object that was returned by * the getForUpdate method * @param mixed $value The value to set * @param Integer $expire The lifespan of this cache value, in seconds * @return \r8\iface\Cache Returns a self reference */ public function setIfSame(\r8\Cache\Result $result, $value, $expire = 0) { if (!$this->cache instanceof \r8\iface\Cache\Updatable) { throw new \r8\Exception\Data($this->cache, 'Inner Cache', 'Must be an instance of \\r8\\iface\\Cache\\Updatable'); } $this->cache->setIfSame(new \r8\Cache\Result($this->cache, $this->modifyKey($result->getKey()), $result->getHash(), $result->getValue()), $value, $expire); return $this; }
/** * Sets the value for this key only if the value hasn't changed in the cache * since it was originally pulled * * @param mixed $value The new value * @param Integer $expire The lifespan of this cache value, in seconds * @return \r8\Cache\Result Returns a self reference */ public function setIfSame($value, $expire = 0) { $this->cache->setIfSame($this, $value, $expire); return $this; }