确定自己的php版本,因为拓展版本需要和php对应,比如下面是我的phpinfo
我自己的PHP是,7.0.12 、x86 、NTS、 VC14,即:7.0系列 、86位、非线程安全、vc14的环境,所以下载扩展要与PHP对应。
php-redis下载链接: https://windows.php.net/downloads/pecl/releases/redis/3.1.5/
php-igbinary下载链接: https://windows.php.net/downloads/pecl/releases/igbinary/2.0.1/
根据我的PHP版本,下载扩展如下图:
下载之后,解压出来,将压缩包中的php_igbinary.dll和php_redis.dll文件放入,PHP安装目录中的ext目录,我的目录为:D:\phper\phpStudy\php\php-7.0.12-nts\ext
配置php.ini,在php.ini文件中加入两行(注意:把要按照下面的顺序来)
extension=php_igbinary.dll
extension=php_redis.dll
重新启动Apache,查看phpinfo()信息,如下图表示扩展安装成功
在控制器里面打开redis服务,测试是否能调用
首先在在common/config.php里面加入redis配置:
//redis配置
'DATA_CACHE_PREFIX' => 'redis_',//缓存前缀
'DATA_CACHE_TYPE'=>'redis',//默认动态缓存为Redis
'REDIS_RW_SEPARATE' => false, //Redis读写分离 true 开启
'REDIS_HOST'=>'127.0.0.1', //redis服务器ip,多台用逗号隔开;读写分离开启时,第一台负责写,其它[随机]负责读;
'REDIS_PORT'=>'6379',//端口号
'REDIS_TIMEOUT'=>'300',//超时时间
'REDIS_PERSISTENT'=>false,//是否长连接 false=短连接
'DATA_CACHE_TIME'=> 10800, // 数据缓存有效期 0表示永久缓存
然后在控制器里面调用:
<?php
namespace Admin\Controller;
use Think\Cache\Driver\Redis;
class TestController extends BaseController
{
//测试用方法
public function test()
{
$redis = new Redis();
$redis->connect('redis',6379);
$redis->set('test','hello world');
echo $redis->get('test');
}
}
页面上打印出来,而且redis数据库也能查看到这个key.有问题欢迎留言!