evaengine / eva-cache
This package is abandoned and no longer maintained.
No replacement package was suggested.
Cache Module of EvaEngine
dev-master
2015-04-23 07:42 UTC
Requires
- evaengine/evaengine: dev-master
This package is not auto-updated.
Last update: 2020-01-24 15:58:48 UTC
README
通用缓存模块,目前实现了 HTTPRequest 的缓存。
HTTPRequest/CacheService
本缓存服务对 phalcon/incubator 进行了二次封装,可以在尽可能少地修改原来的代码 的情况下对 curl 操作加上缓存。
示例代码:
use Eva\EvaCache\CacheManager; $cacheManager = new CacheManager($this->getDI()->getGlobalCache()); $quotes = $cacheManager->http( function (ProviderInterface $provider) use ($self) { $provider->setBaseUri('http://api.markets.wallstreetcn.com/v1/'); try { $response = $provider->get('quotes.json'); } catch (\Exception $e) { return array(); } if ($response->header->statusCode != 200) { return array(); } return json_decode($response->body); }, 120 // 缓存有效期,单位是秒 ); if (!$quotes) { return $this->view->setVar('quotes', array()); } $quotes = $quotes->results;
以下是使用 HTTPRequest/CacheService 之前的代码:
$quotes = array(); $provider = Request::getProvider(); $provider->setBaseUri('http://api.markets.wallstreetcn.com/v1/'); try { $response = $provider->get('quotes.json'); } catch (\Exception $e) { return $this->view->setVar('quotes', array()); } if($response->header->statusCode != 200) { return $this->view->setVar('quotes', array()); } $quotes = json_decode($response->body); $quotes = $quotes->results;