galancev / smart-cache
Smart cache component
Installs: 1 159
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.4.0
- galancev/instance: ^2.0
README
Очередной костыль для кеширования.
Usage:
use Components\Cache\SmartCache; $cache = (new SmartCache()) ->setGroup('test') ->setKey('supertest1') ->setExpire(5) ->get(); if ($cache->hasResult()) { $need = $cache->getResult(); } else { $need = rand(0, 666); $cache->set($need); } Dev::pre($need);
Ну или вариант для тех, кто не любит чейны:
$cache = SmartCache::factory([ 'group' => 'test', 'key' => 'supertest1', 'expire' => 5, 'scatter' => 0, ])->get();
Ну или ещё вариант, кому нравится одним методом:
$cache = SmartCache::init('test', 'supertest1', 5, 0);
Ну или ещё один чёткий вариант через замыкание, он вообще современный офигеть какой
$data = (new SmartCache()) ->setGroup('test') ->setKey('test') ->setExpire(5) ->remember(function () { $res = App::$DB->Query('SELECT * FROM b_user LIMIT 1'); if(!$res) return false; return $res->FetchAll(); });