thinkphp5 mysql缓存_ThinkPHP5配置redis缓存

本文介绍了如何在ThinkPHP5中配置和使用Redis作为缓存,包括单一Redis缓存配置和复合缓存类型的设置,以及如何通过store方法在不同缓存类型间切换,实现高效的数据查询和存储。
摘要由CSDN通过智能技术生成

thinkphp采用cache类提供缓存功能支持,采用驱动方式,在使用缓存之前需要进行初始化操作。支持的缓存类型包括file、memcache、wincache、sqlite、redis和xcache等,

默认情况下是file类型,配置redis缓存可以单一配置redis也可以同时使用多个缓存类型。配置方式分别如下:

一、仅配置redis缓存,在配置文件(app/config.php)中修改缓存设置如下:

'cache' => [

// 驱动方式

// 'type' => 'File',

// 缓存保存目录

// 'path' => CACHE_PATH,

// 缓存前缀

// 'prefix' => '',

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

// 'expire' => 0,

'redis' => [

// 驱动方式

'type' => 'redis',

// 服务器地址

'host' => '192.168.1.xxx', //redis服务器ip

],

],

二、配置多个缓存类型,使用符合缓存类型,配置方式如下:

'cache' => [

// 使用复合缓存类型

'type' => 'complex',

// 默认使用的缓存

'default' => [

// 驱动方式

'type' => 'File',

// 缓存保存目录

'path' => CACHE_PATH,

],

// 文件缓存

'file' => [

// 驱动方式

'type' => 'file',

// 设置不同的缓存保存目录

'path' => RUNTIME_PATH . 'file/',

],

// redis缓存

'redis' => [

// 驱动方式

'type' => 'redis',

// 服务器地址

'host' => '192.168.1.xxx', //redis服务器ip

],

],

使用符合缓存类型时,需要根据需要使用store方法切换缓存。 当使用

Cache::set('name', 'value');

Cache::get('name');

的时候,使用的是default缓存标识的缓存配置。 如果需要切换到其它的缓存标识操作,可以使用:

// 切换到file操作

Cache::store('file')->set('name','value');

Cache::get('name');

// 切换到redis操作

Cache::store('redis')->set('name','value');

Cache::get('name');

比如,查询一篇文章时首先从redis中查询,若未查到信息则从数据库中查询出结果,并存储到redis中。

$article =Cache::store('redis')->get('artcicle'.$id);

if (!$article) {

$article = Db::name('article')->where('status',1)->cache(true)->find($id);

Cache::store('redis')->set('article'.$id,$article);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值