缓存

配置

要使用缓存请先修改 usr/boot.php,取消 Boot 类中的 use Cabal\Core\Cache\Boot\HasCache 注释:

  1. class Boot extends Cabal\Core\Application\Boot
  2. {
  3. //...
  4. use Cabal\Core\Cache\Boot\HasCache;
  5. //...
  6. }

然后在控制器中可以用 $server->cache() 获取到缓存引擎:

  1. $route->get('/', function (Server $server, Request $request, $vars = []) {
  2. // cache for 1 minute
  3. $date = $server->cache()->remember('key', 1, function () {
  4. return date('Y-m-d H:i:s');
  5. });
  6. return $date;
  7. });

缓存API

  1. // 写入缓存
  2. $cache->set($key, $val, $minutes);
  3. // 永久缓存
  4. $cache->forever($key, $val);
  5. // 获取缓存
  6. $cache->get($key, $default = null);
  7. // 清除缓存
  8. $cache->del($key);
  9. // del的别名
  10. $cache->forget($key);
  11. // 自增
  12. $cache->increment($key, $amount = 1);
  13. // 自建
  14. $cache->decrement($key, $amount = 1);
  15. // 获取并删除
  16. $cache->pull($key, $default = null);
  17. // 获取或写入,如果缓存不存在则将 callback 的返回值写入缓存并返回
  18. $cache->remember($key, $minutes, \Closure $callback);