簡體   English   中英

Yii2 redis 緩存超過文件緩存

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM