Thinkphp6 配置并使用redis图文详解

 更新时间:2023年06月29日 09:18:51   作者:PHP太baby咯  
这篇文章主要介绍了Thinkphp6 配置并使用redis的方法,结合实例形式详细分析了Redis的安装、配置以及thinkphp6操作Redis的基本技巧,需要的朋友可以参考下

一、安装redis

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

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

windows下的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

若不配置此项,可能报错:  不支持: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加锁等操作,博主也会在学习后尽量总结完整并把链接放在本文章下。

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

相关文章

  • PHP递归实现无限级分类的代码示例

    PHP递归实现无限级分类的代码示例

    无限级分类是一种对商品或信息进行分类的方式,在这种分类方式中,每个分类都可以再次细分出更多的子分类,形成无限的级别,本文给大家介绍了如何使用PHP递归实现无限级分类,文中有详细的代码示例,需要的朋友可以参考下
    2023-10-10
  • PHP合并数组的2种方法小结

    PHP合并数组的2种方法小结

    大家都知道PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的!这篇文章给加总结介绍了PHP合并数组的2种方法,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。
    2016-11-11
  • php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)

    php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)

    因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题
    2013-08-08
  • PHP常用函数之格式化时间操作示例

    PHP常用函数之格式化时间操作示例

    这篇文章主要介绍了PHP常用函数之格式化时间操作,结合实例形式分析了php针对日期时间的计算、转换及格式化等相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • PHP的substr_replace将指定两位置之间的字符替换为*号

    PHP的substr_replace将指定两位置之间的字符替换为*号

    PHP的substr_replace将指定两位置之间的字符替换为*号的代码,需要的朋友可以参考下。
    2011-05-05
  • PHP操作数组相关函数

    PHP操作数组相关函数

    PHP数组是一个重要的概念,它包含有大量的函数,方便人们的开发…现将它的数组分类,以方便查询及应用.
    2011-02-02
  • php session实现多级目录存放实现代码

    php session实现多级目录存放实现代码

    这篇文章主要介绍了php session实现多级目录存放实现代码,需要的朋友可以参考下
    2016-02-02
  • PHP用continue跳过本次循环中剩余代码的注意点

    PHP用continue跳过本次循环中剩余代码的注意点

    continue跳转语句用来跳过本次循环中指定条件的语句,并且继续执行其他的循环语句。下面这篇文章主要给大家介绍了关于在PHP中用continue跳过本次循环中剩余代码的一个注意点,文中的内容比较基础,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • 浅析51个PHP处理字符串的函数

    浅析51个PHP处理字符串的函数

    以下是对51个PHP处理字符串的函数进行了详细的分析介绍,包括,计算字符串长度、分割字符串、查找字符串等等各个方面。需要的朋友可以过来参考下
    2013-08-08
  • php判断数组元素中是否存在某个字符串的方法

    php判断数组元素中是否存在某个字符串的方法

    今天在写一个函数的时候,需要用到判断数组中是否存在某个字符串,方便我们继续后面的操作,这里简单为大家介绍下,需要的朋友可以参考下
    2014-06-06

最新评论