yii2项目中如何使用redis
发布时间 - 2019-12-09 00:00:00 点击率:次想要在Yii2这个PHP框架中很好的使用redis键值存储,那么首先就要推荐yii2-redis这个官方的Github库。这个库能够很好的帮助我们在Yii2框架中使用redis,它提供缓存,Session以及ActiveRecord模式的支持。
安装yii2-redis库
推荐使用composer安装yii2-redis库,在你的项目根目录执行
php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"
或者将
"yiisoft/yii2-redis": "~2.0.0"
加入你的composer.json文件里,之后运行composer update,墙内真的很慢,耐心等待即可。
配置redis
要正确的使用这个扩展,你必须在你的应用程序的配置文件内,配置Connection类,一般来说,配置文件是config\web.php。
在你的组件里加入redis项目,如下:
return [
//....
'components' => [
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
]
];如此之后,你便能正常的在yii2框架中使用redis。
示例
简单使用
我们先来看一段最简单的使用redis的代码:
$redis = Yii::$app->redis;
$key = 'username';
if ($val = $redis->get($key)) {
return ['redis' => $val];
} else {
$redis->set($key, 'Leon');
$redis->expire($key, 5);
}
return ['redis' => 'no data'];没有一行注释,但是就是一目了然是不是。
寻找username这个key,如果找不到,设置键值存储,并且过期时间是5秒钟。
这就是一个完整的使用redis的例子。
Cache
那么接下来,我们来看看怎么样将redis用在缓存
上。
同样的,作为缓存使用,我们需要去配置文件里修改缓存项:
'components' => [
'cache' => [
// 'class' => 'yii\caching\FileCache',
'class' => 'yii\redis\Cache',
],
],如果你没有配置过redis组件,那么还需要在cache下配置redis:
'components' => [
'cache' => [
// 'class' => 'yii\caching\FileCache',
'class' => 'yii\redis\Cache',
'redis' => [
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
],
],示例代码如下,通俗易懂也就不过多解释了:
$cache = Yii::$app->cache;
$key = 'username';
if ($cache->exists($key)) {
return ['cache' => $cache->get($key)];
} else {
$cache->set($key, 'Leon', 5);
}
return ['cache' => 'no cache'];Session
最后是redis用作session。也是要在组件中配置:
'components' => [
'session' => [
'name' => 'advanced-frontend',
'class' => 'yii\redis\Session'
],
],如果没有配置过redis,同样需要配置:
'components' => [
'session' => [
'name' => 'advanced-frontend',
'class' => 'yii\redis\Session',
'redis' => [
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
],
],示例代码如下:
$session = Yii::$app->session;
$key = 'username';
if ($session->has($key)) {
return ['session' => $session->get($key)];
} else {
$session->set($key, 'Leon');
}
return ['session' => 'no session'];在简单的示范下,如何将redis这个高效的工具用好,则是考验大家的能力了。加油吧!
PHP中文网,有大量免费的Yii入门教程,欢迎大家学习!
# redis
# php
# composer
# json
# Session
# github
# YII
# 很好
# 配置文件
# 要在
# 键值
# 是一个
# 也就
# 则是
# 找不到
# 推荐使用
# 真的很
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
活动邀请函制作网站有哪些,活动邀请函文案?
Linux系统命令中tree命令详解
青岛网站建设如何选择本地服务器?
Laravel怎么使用Intervention Image库处理图片上传和缩放
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何在阿里云域名上完成建站全流程?
如何在服务器上三步完成建站并提升流量?
如何在云主机快速搭建网站站点?
Swift中swift中的switch 语句
如何用IIS7快速搭建并优化网站站点?
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
高端云建站费用究竟需要多少预算?
如何在腾讯云服务器上快速搭建个人网站?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
高防服务器:AI智能防御DDoS攻击与数据安全保障
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
用yum安装MySQLdb模块的步骤方法
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
新三国志曹操传主线渭水交兵攻略
浅析上传头像示例及其注意事项
微信小程序 配置文件详细介绍
香港服务器部署网站为何提示未备案?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
昵图网官网入口 昵图网素材平台官方入口
Laravel Session怎么存储_Laravel Session驱动配置详解
如何在万网ECS上快速搭建专属网站?
js代码实现下拉菜单【推荐】
如何选择可靠的免备案建站服务器?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何在云指建站中生成FTP站点?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
Linux系统运维自动化项目教程_Ansible批量管理实战
如何正确下载安装西数主机建站助手?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Laravel如何实现API速率限制?(Rate Limiting教程)
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
网站页面设计需要考虑到这些问题
LinuxShell函数封装方法_脚本复用设计思路【教程】
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)

