lithium\storage\cache\adapter\XCache::write()

public method

Write values to the cache. All items to be cached will receive an expiration time of $expiry.

Note that this is not an atomic operation when using multiple keys.

Parameters

  • array $keys

    Key/value pairs with keys to uniquely identify the to-be-cached item.

  • string|integer $expiry

    A strtotime() compatible cache time or TTL in seconds. To persist an item use \lithium\storage\Cache::PERSIST.

Returns

boolean

true on successful write, false otherwise.

Source

	public function write(array $keys, $expiry = null) {
		$expiry = $expiry || $expiry === Cache::PERSIST ? $expiry : $this->_config['expiry'];

		if (!$expiry || $expiry === Cache::PERSIST) {
			$ttl = 0;
		} elseif (is_int($expiry)) {
			$ttl = $expiry;
		} else {
			$ttl = strtotime($expiry) - time();
		}
		if ($this->_config['scope']) {
			$keys = $this->_addScopePrefix($this->_config['scope'], $keys);
		}
		foreach ($keys as $key => $value) {
			if (!xcache_set($key, $value, $ttl)) {
				return false;
			}
		}
		return true;
	}