Thinkphp6 配置并使用redis图文详解

2023-12-07 0 713

一、安装redis

ThinkPHP内置支持的缓存类型包括file、memcache、wincache、sqlite。ThinkPHP默认使用自带的采用think\\Cache类。

可以在小皮的软件管理中安装redis(比较简单快捷),也可以先参考安装redis文章:

windows下的redis安装教程

Thinkphp6 配置并使用redis图文详解

二、在thinkphp6配置redis

(1)进入config/cache.php 配置添加redis缓存

<?php
// +———————————————————————-
// | 缓存设置
// +———————————————————————-
return [
// 默认缓存驱动
\’default\’ => env(\’cache.driver\’, \’file\’),
// 缓存连接方式配置
\’stores\’ => [
\’file\’ => [
// 驱动方式
\’type\’ => \’File\’,
// 缓存保存目录
\’path\’ => \’\’,
// 缓存前缀
\’prefix\’ => \’\’,
// 缓存有效期 0表示永久缓存
\’expire\’ => 0,
// 缓存标签前缀
\’tag_prefix\’ => \’tag:\’,
// 序列化机制 例如 [\’serialize\’, \’unserialize\’]
\’serialize\’ => [],
],
// 配置Reids
\’redis\’ => [
\’type\’ => \’redis\’,
\’host\’ => \’127.0.0.1\’,
\’port\’ => \’6379\’,
\’password\’ => \’\’,
\’select\’ => \’0\’,
// 全局缓存有效期(0为永久有效)
\’expire\’ => 0,
// 缓存前缀
\’prefix\’ => \’\’,
//默认缓存周期
\’timeout\’ => 3600,
],
],
];

(2)进入当前所使用的版本php目录下,找到php的配置文件php.ini,并配置如下参数

extension=php_redis.dll

Thinkphp6 配置并使用redis图文详解

若不配置此项,可能报错: 不支持:redis

(3)保存,重启服务器

三、在TP6框架中简单使用redis

(1)在方法中使用 set、get

use think\\cache\\driver\\Redis; //需要使用到的类
use think\\facade\\Cache;
use think\\facade\\Config;
public function test()
{
$redis = new Redis(Config::get(\’cache.stores.redis\’));
$redis->set(\’key\’,\’value1\’);
echo $redis->get(\’key\’);
}

Thinkphp6 配置并使用redis图文详解

至此,一些基本的操作我们可以在:

\\vendor\\topthink\\framework\\src\\think\\cache\\Driver.php文件中找到redis的一些基本操作,但是不够

执行高级方法,需要使用句柄,如下:

(2)在方法中使用lpush,rpush,llen,lrange等方法进行模拟压栈后查看(不要在意直接操作了栈底的位置,主要为了展示使用redis-list)

public function test()
{
$redis = Cache::store(\’redis\’)->handler(); //返回句柄对象,可执行其它高级方法
$redis->lpush(\’arr\’,\’我是第一个入栈\’);//比作压栈的方式,从列表的左侧插入
$redis->lpush(\’arr\’,\’我是第二个入栈\’);
$redis->rpush(\’arr\’,\’我从栈底挤一挤\’);
$redis->lpushx(\’arr\’,\’我应该最先被取出!\’); //若arr是一个空列表,则什么都不做
echo \’取出前的长:\’.$redis->llen(\’arr\’).\’
\’;
echo $redis->lpop(\’arr\’).\’
\’; //从最左边将值从栈顶取出之后删掉
echo \’取出后的长:\’.$redis->llen(\’arr\’).\’
\’;
echo \’整个列表查看:\’;
dd($redis->lrange($redis->keys(\’arr\’)[0], 0 ,-1));//尽量使用var_dump(),此句后面的语句将不被执行,我只是为了好看
$redis->del(\’arr\’); //删除当前数据对象(string、list、hash..)
}

运行结果:

Thinkphp6 配置并使用redis图文详解

四、总结

总之,thinkphp6配置与基础使用redis并没有太大的难点,关键就是网上的记录总结参差不齐,毕竟搜索资料的人的水平也参差不齐对吧(所以这个问题没办法解决,只能多学,多看)。

本文章只介绍了框架的配置以及一些基本用法,关于后续的如何使用redis去处理一些类似高并发(就是将list作为队列使用,结合案例学得快些)、以及如何使用php操作redis加锁等操作,博主也会在学习后尽量总结完整并把链接放在本文章下。

若有理解不对以及操作问题,请私信或留言指正,谢谢~

您可能感兴趣的文章:

  • ThinkPHP6使用JWT+中间件实现Token验证实例详解
  • thinkphp6中Redis的基本使用方法详解
  • ThinkPHP6.0前置、后置中间件区别
  • ThinkPHP6.0 重写URL去掉Index.php的解决方法
  • 基于thinkphp6.0的success、error实现方法
  • thinkphp3.2框架集成QRcode生成二维码的方法分析
  • Thinkphp使用Zxing扩展库解析二维码内容图文讲解
  • Thinkphp3.2.3整合phpqrcode生成带logo的二维码
  • ThinkPHP6使用最新版本Endroid/QrCode生成二维码的方法实例

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 PHP Thinkphp6 配置并使用redis图文详解 https://www.u-9.cn/biancheng/php/128106.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务