2016-09-20 11 views
1

で説得力の関係でキャッシュタグを使用して、私は例えば雄弁なモデルとの関係にRedisのキャッシュタグを追加する必要がしています:Laravel 4

public function children() { 
    return $this->belongsToMany('table1', 'table2', 'field1', 'field2')->where('field3', 'value')->orderBy('field1', 'asc')->remember(720); 
} 

が、私は現在にそれを待たずにこのキャッシュをクリアする方法はありません失効する。 Cache :: forget($ name)でクリアできるキャッシュ名を追加する方法があるかもしれないが、他のエントリと同じキャッシュタグを追加したいと思う。

おかげ

答えて

0

あなたはキャッシュ方式から、その後eparate関係法REDIのタグを使用する場合:

public function children() { 
    return $this->belongsToMany('table1', 'table2', 'field1', 'field2')->where('field3', 'value')->orderBy('field1', 'asc')->remember(720); 
} 

public function getChildren() { 
    return Cache::tags(['tag1', 'teg2])->rememberForever('cacheKey', function() { 
     return $this->children()->get(); 
    }) 
} 

次に、あなたはそれがこのすなわちようRedisののタグオプションのフラッシュを使用クリアしたい場合:

Cache::tags('tag1')->flush();