redis学习纪录2:YII中使用redis,配置,缓存,命令执行
yii2-redis 扩展为 Yii2 框架提供了 redis 键值存储支持。包括缓存(Cache)、会话存储处理(Session),并实现了 ActiveRecord 模式,允许您将活动记录存储在 redis 中。
相关链接:yii2-redis 扩展网址:https://github.com/yiisoft/yii2-redis
安装扩展
在 Yii2 项目根目录,执行以下命令安装:
$ composer require yiisoft/yii2-redis
也可以先在 composer.json 文件中声明如下依赖:
"yiisoft/yii2-redis": "~2.0.0"
再执行下面命令安装:
$ composer update
redis的按照请参考上一节http://shanhuxueyuan.com/news/detail/52.html
在YII中使用redis需要先进行配置
'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, 'password' => '123456', ],
如果在缓存中使用redis,还需要设置
'cache' => [ 'class' => 'yii\redis\Cache', ],
redis存储在内存中,使用 redis 缓存后,比每次都去读取数据库要更快
$cache=\Yii::$app->cache; if($cache->exists('token')){ $token=$cache->get("token"); }else{ $token="123456789"; $cache->set("token",$token,3600); } echo $token;
通过redis组件直接操作redis
$redis = \Yii::$app->redis; $key = 'username'; if ($val = $redis->get($key)) { echo($val); } else { $redis->set($key, 'marko'); $redis->expire($key, 20); }
最通用的方法是使用 executeCommand 方法:
$result = $redis->executeCommand('hmset', ['test_collection', 'key1', 'val1', 'key2', 'val2']);
支持的每个命令都有一些快捷方式,可以按照如下方式使用:
$result = $redis->hmset('test_collection', 'key1', 'val1', 'key2', 'val2');
有关可用命令及其参数的列表,请参阅 redis 命令:
也可以将session信息存入redis,配置文件更改
'session' => [ 'name' => 'advanced-frontend', 'class' => 'yii\redis\Session', 'timeout' => 3600, ],
通过Yii::$app->session 来设置session
$session=\Yii::$app->session; $session->set('uid',123);
点赞(0)