ThinkPHP6 配置使用Redis

文章介绍了如何在Windows和Linux系统中安装Redis,以及如何通过Composer安装predis库。接着,详细说明了在ThinkPHP框架中配置Redis,包括在cache.php文件中设置配置,并展示了使用TP封装的Redis驱动和predis进行操作的示例代码,强调predis提供了更多功能和参数提示,适合复杂场景。

本文内容主要为ThinkPHP6 配置使用Redis,提供了两种使用方式。

 

目录

安装Redis

 安装predis

配置Redis

Redis连接测试

TP封装的Redis操作

 predis Redis操作

总结


安装Redis

如果未安装redis,请先安装redis,文档可参考:

- windows安装redis

- linux安装redis

 

 安装predis

项目中需要使用predis来连接和操作redis,我们用composer来安装和加载它。

项目目录命令行执行:

composer require predis/predis

安装过程:

配置Redis

打开TP中封装的think\cache\driver\Redis,查看有哪些配置可写。

在应用配置cache.php文件,file配置后新增redis配置;

 写几个常用的,其他的就不写了。

return [
    // 默认缓存驱动
    'default' => env('cache.driver', 'file'),

    // 缓存连接方式配置
    'stores'  => [
        'file' => [
            // 驱动方式
            'type'       => 'File',
            // 缓存保存目录
            'path'       => '',
            // 缓存前缀
            'prefix'     => '',
            // 缓存有效期 0表示永久缓存
            'expire'     => 0,
            // 缓存标签前缀
            'tag_prefix' => 'tag:',
            // 序列化机制 例如 ['serialize', 'unserialize']
            'serialize'  => [],
        ],
        'redis' => [
            // 缓存主机
            'host'       => '127.0.0.1',
            // 缓存端口
            'port'     => '6379',
            // 缓存密码
            'password'     => '',
            // 缓存数据库
            'select'   => 0,
            // 缓存有效期 0表示永久缓存
            'timeout'   => 0,
            // 缓存前缀
            'prefix'   => ''
        ],
        // 更多的缓存连接
    ],
];

 

Redis连接测试

在TP中发现有两种连接Redis的方式,一种就是TP原有的封装的Redis,

即: think\cache\driver\Redis;另一种就是,刚才安装的predis。

TP封装的Redis操作

public function index()
{
    // 字符串操作
    $conn = new \think\cache\driver\Redis(config('cache.stores.redis'));
    $conn->set('name', '张三');
    echo $conn->get('name');

    // 集合set操作
    $conn = new \think\cache\driver\Redis(config('cache.stores.redis'));
    $key = 'user';
    $conn->sadd($key, '张三');
    $conn->sadd($key, '李四');
    $conn->sadd($key, '王五');
    $conn->sadd($key, '赵六');
    $arr = $conn->smembers($key);
    print_r($arr);die;
}

虽然没有方法提示,但是执行都没问题。

结果如下:

 predis Redis操作

public function index()
{
    // 字符串操作
    $conn = new \Predis\Client(config('cache.stores.redis'));
    $conn->set('name', '李四');
    echo $conn->get('name');
    
// 集合set操作
    $conn = new \Predis\Client(config('cache.stores.redis'));
    $key = 'puser';
    $conn->sadd($key, ['张三','李四','王五']);
    $arr = $conn->smembers($key);
    print_r($arr);
}

有方法和参数提示,提示sadd的第二个参数是数组格式,汗!

没提示就错了,跟TP封装的Redis竟然不一样。

结果如下:

总结

经过测试,这两种都可以使用。

使用TP封装的Redis操作,不需安装;使用predis需要安装;

区别只是predis封装的redis操作更多,使用时有相应方法参数提示。

大家可以根据自己的需求,挑选使用。

推荐使用predis,有方法和参数提示不易出错。

ThinkPHP6是一个基于PHP的轻量级高性能的开源框架。在ThinkPHP6中,可以使用Redis作为缓存驱动来提高应用性能。要使用Redis,首先需要确保你的服务器上已经安装了Redis服务,并且PHP环境支持Redis扩展。 以下是使用Redis的基本步骤: 1. 安装Redis扩展: 如果你还没有安装Redis PHP扩展,请通过Composer安装它。打开命令行工具,执行以下命令: ``` composer require predis/predis ``` 2. 配置Redis服务: 在ThinkPHP6配置文件中(通常是`config/database.php`),你需要添加Redis服务的配置信息。例如: ```php 'redis' => [ 'host' => '127.0.0.1', 'port' => 6379, 'password' => '', // 如果设置了密码则填写 'database' => 0, ], ``` 3. 使用Redis类: 在你的控制器或者模型中,可以通过依赖注入或服务容器获取Redis实例,并进行操作。例如,在控制器中使用Redis存储数据: ```php use think\facade\Cache; public function setRedisData() { Cache::set('key', 'value', 'minute'); // 第三个参数是过期时间 return json(['status' => 'success', 'message' => 'Data set in Redis.']); } public function getRedisData() { $value = Cache::get('key'); return json(['status' => 'success', 'data' => $value]); } ``` 4. 缓存操作: ThinkPHP6的Cache门面提供了丰富的API来操作Redis,包括但不限于设置缓存、获取缓存、删除缓存等操作。 5. 应用配置: 在项目中使用Redis之前,确保已经将Redis配置添加到应用的配置中,并且在使用缓存的地方引入Cache门面。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值