<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2021 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------
declare (strict_types = 1);
namespace think\filesystem;
use League\Flysystem\Cached\Storage\AbstractCache;
use Psr\SimpleCache\CacheInterface;
class CacheStore extends AbstractCache
{
protected $store;
protected $key;
protected $expire;
public function __construct(CacheInterface $store, $key = 'flysystem', $expire = null)
{
$this->key = $key;
$this->store = $store;
$this->expire = $expire;
}
/**
* Store the cache.
*/
public function save()
{
$contents = $this->getForStorage();
$this->store->set($this->key, $contents, $this->expire);
}
/**
* Load the cache.
*/
public function load()
{
$contents = $this->store->get($this->key);
if (!is_null($contents)) {
$this->setFromStorage($contents);
}
}
}