[英]Yii2 redis cache over file cache
我也在使用帶有文件緩存和 redis 緩存的 yii2。 在我的主配置文件中定義了 redis 緩存設置。
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'MY_IP',
'port' => MY_PORT,
'database' => 0,
],
我還在文件緩存設置下添加了一個組件。
'cache' => [
'class' => 'yii\caching\FileCache',
],
所以對於緩存,我使用的是$cache = Yii::$app->cache;
並用於設置緩存Yii::$app->cache->set($id, $value, $time);
並使用Yii::$app->cache->get($id);
所以這是從文件緩存中設置的值還是覆蓋文件緩存並在它上面使用redis。
如果這是使用文件緩存,那么我們如何用 redis 覆蓋文件緩存。我們可以使用帶有這個Yii::$app->cache->get($id);
或者我們可以使用 redis 和use yii\\redis\\Cache;
並使用
$redis->hmset('test_collection', 'key1', 'val1', 'key2', 'val2');
是的,您只需將$cache
屬性設置為:
'cache' => [
'class' => 'yii\redis\Cache',
'redis' => 'redis' // id of the connection component as it is already defined
];
在我的代碼中,我是這樣使用它的:
$cache = Yii::$app->cache;
$cache->add($access_token, ['id' => Yii::$app->user->id], $expire);
$user = $cache->get($access_token);
我還注意到一些組件已經在使用它,比如urlManager ,它開始將生成的規則存儲在 redis 數據庫中。 有關在$cache 中使用時可用屬性和方法的完整列表,請參閱yii\\redis\\Cache文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.