thinkphp6实现redis连接池_2020-06-20 ThinkPHP6.0+ 使用Redis 缓存

本文介绍了如何在ThinkPHP6中使用predis/predis库实现Redis连接池,详细步骤包括通过composer安装依赖,配置config/cache.php文件以支持Redis缓存,并展示了在控制器中测试缓存设置和获取的代码示例。此外,还提到了Redis的高级用法,如直接使用PHP Redis扩展进行连接、设置过期时间和检查缓存状态。
摘要由CSDN通过智能技术生成

composer 安装 predis/predis 依赖,或者安装php_redis.dll的扩展。

我这里选择的是predis/predis 依赖。

composer require predis/predis

进入config/cache.php 配置添加redis缓存支持

示例:

// +----------------------------------------------------------------------

// | 缓存设置

// +----------------------------------------------------------------------

return [

// 默认缓存驱动

'default' => env('cache.driver', 'file'),

// 缓存连接方式配置

'stores' => [

'file' => [

// 驱动方式

'type' => 'File',

// 缓存保存目录

'path' => '',

// 缓存前缀

'prefix' => '',

// 缓存有效期 0表示永久缓存

'expire' => 0,

// 缓存标签前缀

'tag_prefix' => 'tag:',

// 序列化机制 例如 ['serialize', 'unserialize']

'serialize' => [],

],

// 更多的缓存连接

],

// redis缓存

'redis' => [

'type' => 'redis',

'host' => '127.0.0.1',

'timeout'=> 3600

],

];

页面测试代码

namespace app\controller;

use app\BaseController;

use think\facade\Cache;

class Index extends BaseController

{

public function index()

{

//Cache::set('name', [1,2,3]);

//(Cache::get('name'));

Cache::store('redis')->set('name', [1,2,3]);

dump(Cache::store('redis')->get('name'));

}

}

效果

image.png

redis 高级用法

在php 原生中redis 的使用是

//加载扩展

$redis = new \Redis();

//连接扩展

$redis->connect("127.0.0.1","6379");

//判断是否过期

$redis_status = $redis->exists("info");

if($redis_status==false){

//缓存失效,重新存入

//查询数据

$Info = db("user")->where('id', $userId)->find();

//转换成字符串,有利于存储

$redisInfo = serialize($Info);

//存入缓存

$redis->set("info",$redisInfo);

//设置缓存周期,60秒

$redis->expire("info",60);

var_dump("新存入的值");

}

//获取缓存

$result = unserialize($redis->get("info"));

//当前时间

var_dump(date("Y-m-d H:i:s",time()));

var_dump($result);

thinkephp 中要使用php redis 的扩展方法。则需使用handler();

代码示例

$redis = Cache::store('redis')->handler(); // 这条代码等于 $redis = new \Redis();

$redis->set("info",'hello world'); // 设置字段

$redis->expire("info",10); // 设置过期时间

var_dump($result); //1 没过期,2 为过期;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值