Nette\Caching\Storages\NewMemcachedStorage::write PHP Method

write() public method

Writes item into the cache.
public write ( $key, $data, array $dp ) : void
$dp array
return void
    public function write($key, $data, array $dp)
    {
        if (isset($dp[Cache::ITEMS])) {
            throw new Nette\NotSupportedException('Dependent items are not supported by MemcachedStorage.');
        }
        $key = urlencode($this->prefix . $key);
        $meta = [self::META_DATA => $data];
        $expire = 0;
        if (isset($dp[Cache::EXPIRATION])) {
            $expire = (int) $dp[Cache::EXPIRATION];
            if (!empty($dp[Cache::SLIDING])) {
                $meta[self::META_DELTA] = $expire;
                // sliding time
            }
        }
        if (isset($dp[Cache::CALLBACKS])) {
            $meta[self::META_CALLBACKS] = $dp[Cache::CALLBACKS];
        }
        if (isset($dp[Cache::TAGS]) || isset($dp[Cache::PRIORITY])) {
            if (!$this->journal) {
                throw new Nette\InvalidStateException('CacheJournal has not been provided.');
            }
            $this->journal->write($key, $dp);
        }
        $this->memcached->set($key, $meta, $expire);
    }