Ejemplo n.º 1
0
 public function cache($key, Closure $closure)
 {
     $key = 'standard:' . get_class($this) . ':model:' . $key;
     if (!RedisFacade::exist($key)) {
         RedisFacade::set($key, json_encode($closure()));
     }
     return json_decode(RedisFacade::get($key));
 }
Ejemplo n.º 2
0
 public function getStaticsByMonth($repo = null)
 {
     $className = static::class;
     $repoName = $repo == null ? 'Files' : $repo;
     $key = 'standard:archives:' . $repoName;
     if (!RedisFacade::exist($key)) {
         $query = $className::query()->columns(['count(' . $className . '.id) AS num', 'DATE_FORMAT(' . $className . '.created_at,"%Y-%m") As month'])->groupBy('month')->orderBy('month DESC');
         if ($repo) {
             $query = $query->rightJoin($repo, 'sub.file_id = ' . $className . '.id', 'sub');
         }
         $results = $query->execute();
         RedisFacade::set($key, json_encode($results));
     }
     return json_decode(RedisFacade::get($key));
 }