文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Thinkphp6中配置并使用redis

2023-09-01 18:21

关注

目录

一、安装redis

二、在thinkphp6中配置redis

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

 四、总结


一、安装redis

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

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

点我进入windows下的redis安装教程


二、在thinkphp6中配置redis

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

 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

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

(3)保存,重启服务器


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

(1)在方法中使用 setget

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');}

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

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

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

(2)在方法中使用lpushrpushllenlrange等方法进行模拟压栈后查看(不要在意直接操作了栈底的位置,主要为了展示使用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并没有太大的难点,关键就是网上的记录总结参差不齐,毕竟搜索资料的人的水平也参差不齐对吧(所以这个问题没办法解决,只能多学,多看)。

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

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

来源地址:https://blog.csdn.net/qq_46731342/article/details/127478237

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯