framework/caching/FileCache.php
protected function setValue($key, $value, $duration)
    {
        $this->gc();
        $cacheFile = $this->getCacheFile($key);
        if ($this->directoryLevel > 0) {
            @FileHelper::createDirectory(dirname($cacheFile), $this->dirMode, true);
        }
        // If ownership differs the touch call will fail, so we try to
        // rebuild the file from scratch by deleting it first
        // https://github.com/yiisoft/yii2/pull/16120
        if (is_file($cacheFile) && function_exists('posix_geteuid') && fileowner($cacheFile) !== posix_geteuid()) {
            @unlink($cacheFile);
        }
        if (@file_put_contents($cacheFile, $value, LOCK_EX) !== false) {
            if ($this->fileMode !== null) {
                @chmod($cacheFile, $this->fileMode);
            }
            if ($duration <= 0) {
                $duration = 31536000; // 1 year
            }

            return @touch($cacheFile, $duration + time());
        }

        $error = error_get_last();
        Yii::warning("Unable to write cache file '{$cacheFile}': {$error['message']}", __METHOD__);
        return false;
    }
protected function setValue($key, $value, $duration)
    {
        $this->gc();
        $cacheFile = $this->getCacheFile($key);
        if ($this->directoryLevel > 0) {
            @FileHelper::createDirectory(dirname($cacheFile), $this->dirMode, true);
        }
        // If ownership differs the touch call will fail, so we try to
        // rebuild the file from scratch by deleting it first
        // https://github.com/yiisoft/yii2/pull/16120
        if (is_file($cacheFile) && function_exists('posix_geteuid') && fileowner($cacheFile) !== posix_geteuid()) {
            @unlink($cacheFile);
        }
        if (@file_put_contents($cacheFile, $value, LOCK_EX) !== false) {
            if ($this->fileMode !== null) {
                @chmod($cacheFile, $this->fileMode);
            }
            if ($duration <= 0) {
                $duration = 31536000; // 1 year
            }

            return @touch($cacheFile, $duration + time());
        }

        $error = error_get_last();
        Yii::warning("Unable to write cache file '{$cacheFile}': {$error['message']}", __METHOD__);
        return false;
    }
protected function setValue ( $ key , $ value , $ duration ) { $ this -> gc ( ) ; $ cacheFile = $ this -> getCacheFile ( $ key ) ; if ( $ this -> directoryLevel > 0 ) { @ FileHelper :: createDirectory ( dirname ( $ cacheFile ) , $ this -> dirMode , true ) ; } // If ownership differs the touch call will fail, so we try to // rebuild the file from scratch by deleting it first // https://github.com/yiisoft/yii2/pull/16120 if ( is_file ( $ cacheFile ) && function_exists ( 'posix_geteuid' ) && fileowner ( $ cacheFile ) !== posix_geteuid ( ) ) { @ unlink ( $ cacheFile ) ; } if ( @ file_put_contents ( $ cacheFile , $ value , LOCK_EX ) !== false ) { if ( $ this -> fileMode !== null ) { @ chmod ( $ cacheFile , $ this -> fileMode ) ; } if ( $ duration <= 0 ) { $ duration = 31536000 ; // 1 year } return @ touch ( $ cacheFile , $ duration + time ( ) ) ; } $ error = error_get_last ( ) ; Yii :: warning ( "Unable to write cache file '{$cacheFile}': {$error['message']}" , __METHOD__ ) ; return false ; }
Stores a value identified by a key in cache.
This is the implementation of the method declared in the parent class.

@param string $key the key identifying the value to be cached
@param string $value the value to be cached. Other types (If you have disabled [[serializer]]) unable to get is
correct in [[getValue()]].
@param int $duration the number of seconds in which the cached value will expire. 0 means never expire.
@return bool true if the value is successfully stored into cache, false otherwise
Stores a value identified by a key in cache . This is the implementation of the method declared in the parent class .