lithium\storage\cache\adapter\XCache::write()
Implements
lithium\storage\cache\Adapter::write()
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
booleantrue
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;
}