Exemplo n.º 1
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $keys = Redis::keys(env('CACHE_PREFIX') . '*');
     $values = $keys ? Redis::command('MGET', $keys) : [];
     $result = array_filter(array_map(function ($json) {
         return json_decode($json);
     }, $values));
     return response()->json($result);
 }
Exemplo n.º 2
0
 /**
  * Function remove all redis data for specified language
  *
  * @param $language
  */
 public function clear($language)
 {
     if (Redis::del(Key::posts($language))) {
         $this->info('Remove all entries for key ' . Key::posts($language));
     }
     if (Redis::del(Key::tags($language))) {
         $this->info('Remove all entries for key ' . Key::tags($language));
     }
     foreach (Redis::keys(Key::post('*', $language)) as $key) {
         if (Redis::del($key)) {
             $this->info('Remove all entries for keys ' . $key);
         }
     }
 }
Exemplo n.º 3
0
 public function all($limit = 10)
 {
     if (!($tagKeys = Redis::keys("tags:{$this->language}:*"))) {
         $posts = $this->loader->loadList();
         foreach ($posts as $item) {
             $post = $this->loader->load($item['slug'], $item);
             foreach ($post['tags'] as $tag) {
                 if (Redis::sadd(Key::tags($tag), $item['slug']) && !in_array(Key::tags($tag), $tagKeys)) {
                     $tagKeys[] = Key::tags($tag);
                 }
             }
         }
     }
     $tags = [];
     foreach ($tagKeys as $key) {
         $chunks = explode(':', $key);
         $key = array_pop($chunks);
         $tags[$key] = Redis::scard(Key::tags($key));
     }
     arsort($tags);
     return array_slice($tags, 0, $limit);
 }