首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文件缓存上的Yii2 redis缓存

文件缓存上的Yii2 redis缓存
EN

Stack Overflow用户
提问于 2016-04-22 07:04:02
回答 1查看 2.1K关注 0票数 2

我使用的yii2与文件缓存和redis缓存也。在我的主配置文件中,定义了redis缓存设置。

代码语言:javascript
运行
复制
'redis' => [
        'class' => 'yii\redis\Connection',
        'hostname' => 'MY_IP',
        'port' => MY_PORT,
        'database' => 0,
    ],

我还在文件缓存设置下添加了一个组件。

代码语言:javascript
运行
复制
'cache' => [
        'class' => 'yii\caching\FileCache',
    ],

因此,对于缓存,我使用的是$cache = Yii::$app->cache;,以及设置缓存Yii::$app->cache->set($id, $value, $time);和get使用Yii::$app->cache->get($id);,所以这是设置来自文件缓存的值,或者是覆盖文件缓存,并在文件缓存上使用redis。

如果这是使用文件缓存,那么我们如何用redis .Can覆盖文件缓存,我们可以在这个Yii::$app->cache->get($id);中使用redis缓存,或者我们可以在use yii\redis\Cache;中使用redis,然后使用

代码语言:javascript
运行
复制
$redis->hmset('test_collection', 'key1', 'val1', 'key2', 'val2');
EN

回答 1

Stack Overflow用户

发布于 2016-04-22 08:22:47

是的,只需将$cache属性设置为:

代码语言:javascript
运行
复制
'cache' => [
    'class' => 'yii\redis\Cache',
    'redis' => 'redis' // id of the connection component as it is already defined
];

在我的代码中,我是这样使用它的:

代码语言:javascript
运行
复制
 $cache = Yii::$app->cache;

 $cache->add($access_token, ['id' => Yii::$app->user->id], $expire);

 $user = $cache->get($access_token);

我还注意到一些组件已经在使用它,比如urlManager,它开始在redis中存储生成的规则。请参阅叶红文档以获得在$cache中使用时可用属性和方法的完整列表。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36787133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档