首页 > 后端开发 > 正文

php语言yii2框架 yii2项目中如何使用redis

2023-09-30 16:20:03 | 我爱编程网

很多关注后端开发的朋友很希望了解php语言yii2框架 yii2项目中如何使用redis,今天我爱编程网为大家整理了相关文章,一起来看看吧!

php语言yii2框架 yii2项目中如何使用redis

yii2项目中如何使用redis



想要在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类,一般来说,配置文件是configweb.php。
在你的组件里加入redis项目,如下:
return [
//....
'components' => [
'redis' => [
'class' => 'yii
edisConnection',
'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' => 'yiicachingFileCache',
'class' => 'yii
edisCache',
],
],如果你没有配置过redis组件,那么还需要在cache下配置redis:
'components' => [
'cache' => [
// 'class' => 'yiicachingFileCache',
'class' => 'yii
edisCache',
'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
edisSession'
],
],如果没有配置过redis,同样需要配置:
'components' => [
'session' => [
'name' => 'advanced-frontend',
'class' => 'yii
edisSession',
'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入门教程,欢迎大家学习!

php语言yii2框架 yii2项目中如何使用redis

Yii2框架操作数据库的方法分析【以mysql为例】

本文实例讲述了Yii2框架操作数据库的方法。分享给大家供大家参考,具体如下:
准备数据库
DROP
TABLE
IF
EXISTS
`pre_user`;
CREATE
TABLE
`pre_user`(
`id`
int(11)
AUTO_INCREMENT
PRIMARY
KEY,
`username`
varchar(255)
NOT
NULL,
`password`
varchar(32)
NOT
NULL
DEFAULT
'',
`password_hash`
varchar(255)
NOT
NULL
DEFAULT
'',
`email`
varchar(255)
NOT
NULL
DEFAULT
'',
`status`
smallint(6)
NOT
NULL
DEFAULT
10,
`created_at`
smallint(6)
NOT
NULL
DEFAULT
0,
`updated_at`
smallint(6)
NOT
NULL
DEFAULT
0
)ENGINE=InnoDB
DEFAULT
CHARSET=utf8mb4;
配置连接
config\db.php
<?php
return
[
'class'
=>
'yii\db\Connection',
'dsn'
=>
'mysql:host=localhost;dbname=yii2',
'username'
=>
'root',
'password'
=>
'root',
'charset'
=>
'utf8mb4',
'tablePrefix'
=>
'pre_'
];
查看数据库连接是否成功
控制器里打印:
var_dump(\Yii::$app->db);
怎么执行SQL语句?
增删改
//
接收表单的数据
$username
=
'jack';
$sql
=
"INSERT
INTO
{{%user}}
(username,status)
VALUES
(:username,:status)";
//
返回受影响行数
$row
=
\Yii::$app->db->createCommand($sql,['username'=>$username,'status'=>8])->execute();
//
获取自增ID
echo
\Yii::$app->db->getLastInsertID();
查询
$sql
=
"SELECT
*
FROM
{{%user}}
WHERE
id>:id";
//
查询结果是一个二维数组
$userArr
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryAll();
//
如果要查询一个
$user
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryOne();
//
如果要返回单值
//
例如
select
count(*)语句
$count
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryScalar();
echo
$count;
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
您可能感兴趣的文章:Yii2.0高级框架数据库增删改查的一些操作Yii2——使用数据库操作汇总(增删查改、事务)Yii2数据库操作常用方法小结Yii2框架实现数据库常用操作总结Yii2实现跨mysql数据库关联查询排序功能代码Yii+MYSQL锁表防止并发情况下重复数据的方法Yii
连接、修改
MySQL
数据库及phpunit
测试连接Yii实现MySQL多数据库和读写分离实例分析Yii操作数据库实现动态获取表名的方法Yii操作数据库的3种方法

php语言yii2框架 yii2项目中如何使用redis我爱编程网

yii2.0文件如何在php命令行运行



在yii根目录下面有个“yii”文件,这个文件就是入口。然后“commands”目录下会默认有个“HelloController.php”控制器文件,这个是一个demo。打开这个控制器文件,源码如下(删掉了部分注释):
<?php
namespace appcommands;
use yiiconsoleController;
class HelloController extends Controller
{
/**
* This command echoes what you have entered as the message.
* @param string $message the message to be echoed.
*/
public function actionIndex($message = 'hello world')
{
echo $message . "
";
}
}从上面可以看出,在命令行运行时,会继承console下的Controller;而一般“controllers”目录中的控制器会继承web下的Controller。
(推荐教程:yii框架)
所以在php命令行中执行yii脚本的步骤为:
1、新建一个脚本
在“commands”目录下面按照“HelloController.php”的格式新建一个控制器脚本文件。
2、在命令行执行脚本
在命令行敲入“php yii项目所在路径/yii 控制器名/方法名”,例如“php web/yii hello/index”或者 直接cd到yii项目根目录(我的是web/),然后"php yii hello/index",命令如下:
php web/yii refresh-tui-cur/tui-refresh或
php yii user-test/refresh-userinfo更多编程相关内容,请关注Gxlcms编程入门栏目!

以上就是我爱编程网为大家带来的php语言yii2框架 yii2项目中如何使用redis,希望能帮助到大家,更多相关信息,敬请关注我爱编程网!
与“php语言yii2框架 yii2项目中如何使用redis”相关推荐
php框架yii2 yii2项目中如何使用redis
php框架yii2 yii2项目中如何使用redis

php现在比较热门实用的框架有哪些?PHP作为强大的Web开发语言,上手非常容易,开发效率很高,不需要像Java一样进行编译后才能执行,但是如果用原生的PHP来开发还是会存在开发速度慢,或者说后期维护难度大,缺乏代码严谨性等问题,我就需要使用目前流行的MVC框架,那么现在有哪些PHP框架更方便,更快捷呢?1.Laravellaravel可以说是从去年到今年都是最热门的PHP框架

2023-08-27 03:43:26
php的yii2框架 yii2项目中如何使用redis
php的yii2框架 yii2项目中如何使用redis

yii2项目中如何使用redis想要在Yii2这个PHP框架中很好的使用redis键值存储,那么首先就要推荐yii2-redis这个官方的Github库。这个库能够很好的帮助我们在Yii2框架中使用redis,它提供缓存,Session以及ActiveRecord模式的支持。安装yii2-redis库推荐使用composer安装yii2-redis库,在你的项目根目录执行ph

2023-09-25 08:37:22
基于redis的php框架 yii2项目中如何使用redis
基于redis的php框架 yii2项目中如何使用redis

thinkphp5框架扩展redis类方法示例本文实例讲述了thinkphp5框架扩展redis类方法。分享给大家供大家参考,具体如下:笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存、写入缓存的基本方法,远不能满足我们业务的需求。redis本身支持五种数据类型,string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)

2023-09-21 06:35:24
php框架源码如何使用 php开源项目如何使用
php框架源码如何使用 php开源项目如何使用

php源码怎么使用PHP程序都要用MYSQL,如果没有MYSQL,就不能用它们.第一:配置数据库信息,改成自己所需的;第二:导入数据库;第三:安装wamp5输入自己的文件名。php开源项目如何使用用成熟稳定的开源项目(推荐学习:PHP视频教程)现在技术日新月异,可能隔几天就会出来一个新的开源框架,但是公司的商业项目永远以稳为主,也许你迫不及待的想尝鲜体验新技术,

2023-09-15 03:05:12
php框架优化yii2 yii2.0文件如何在php命令行运行
php框架优化yii2 yii2.0文件如何在php命令行运行

yii2.0文件如何在php命令行运行在yii根目录下面有个“yii”文件,这个文件就是入口。然后“commands”目录下会默认有个“HelloController.php”控制器文件,这个是一个demo。打开这个控制器文件,源码如下(删掉了部分注释):&lt;?phpnamespaceappcommands;useyiiconsoleController;classH

2023-09-27 22:27:58
ci框架php项目 php的CI框架,如何使用session
ci框架php项目 php的CI框架,如何使用session

php的CI框架,如何使用session里面有两种session的使用方法:1是php的原始的session使用方法,这个很简单,$_SESSION['name']="name",然后在需要的地方显示:echo$_SESSION['name'];2是codeigniter这个框架的一个方法:下面就详细讲解如何使用这个有点点复杂的方法:首先,在\ci\application\c

2023-09-10 22:27:46
php框架Swagger 多Model项目中,使用Swagger
php框架Swagger 多Model项目中,使用Swagger

SwaggerUI是什么SwaggerUI是一个开源类的专业文档工具,它是由三大资产方的集合(html、js、css),它能够帮助我们简化对apl的开发。它是一个工具集合体,是一个简单并且容易上手使用的工具,简直是码农大爷的快乐,新农们的福音!SwaggerUI介绍:1、高效这是一款非常强大的文档软件,可以帮助用户高效编辑。2、兼容集合HTML、Java、CSS等等,拥有

2023-08-31 15:25:16
php框架实现多图片上传 yii2高级框架怎么使用jquery file upload上传插件
php框架实现多图片上传 yii2高级框架怎么使用jquery file upload上传插件

WebUploader+php视频分片上传由于最近项目中遇到有做视频上传的功能,决定写一篇文章详细说明大文件上传的原理和使用BaiduWebFE(FEX)团队开发的文件上传插件WebUploader。利用前端框架WebUploader配置进行对大文件的分片(由Baidu官方测试,每5M一个分片是效率最高的),这里,我的服务端是php,所以需要修改php.ini里面的post_max_s

2023-08-30 04:07:10