src/Cache/FileCache.php
protected function createCacheFilePath($key)
    {
        $folderSufix = sprintf('%03d', hexdec(substr(sha1($key), -5)) % 1000);
        $cacheFolder = $this->createCacheFileFolder() . DIRECTORY_SEPARATOR . $folderSufix;
        if (!is_dir($cacheFolder)) {
            mkdir($cacheFolder, 0777, true);
        }

        return $cacheFolder . DIRECTORY_SEPARATOR . md5($key) . '.dat';
    }
protected function createCacheFilePath($key)
    {
        $folderSufix = sprintf('%03d', hexdec(substr(sha1($key), -5)) % 1000);
        $cacheFolder = $this->createCacheFileFolder() . DIRECTORY_SEPARATOR . $folderSufix;
        if (!is_dir($cacheFolder)) {
            mkdir($cacheFolder, 0777, true);
        }

        return $cacheFolder . DIRECTORY_SEPARATOR . md5($key) . '.dat';
    }
protected function createCacheFilePath ( $ key ) { $ folderSufix = sprintf ( '%03d' , hexdec ( substr ( sha1 ( $ key ) , - 5 ) ) % 1000 ) ; $ cacheFolder = $ this -> createCacheFileFolder ( ) . DIRECTORY_SEPARATOR . $ folderSufix ; if ( ! is_dir ( $ cacheFolder ) ) { mkdir ( $ cacheFolder , 0777 , true ) ; } return $ cacheFolder . DIRECTORY_SEPARATOR . md5 ( $ key ) . '.dat' ; }
考虑到Linux同一目录下的文件个数限制，这里拆分成1000个文件缓存目录

@param string $key 缓存key
@return string 路径
考虑到Linux同一目录下的文件个数限制，这里拆分成1000个文件缓存目录