galancev/smart-cache

智能缓存组件

v2.0.1 2020-01-29 05:52 UTC

This package is auto-updated.

Last update: 2024-09-29 05:29:47 UTC


README

又一个用于缓存的解决方案。

用法

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();
    });