tp5.1出来已经挺久的了,这边记录下tp5.1该怎么使用redis缓存。
安装好redis服务器,php的redis扩展phpredis(https://github.com/phpredis/phpredis#hexists
)
window安装扩展,可以参考我的另一篇文章:
//www.greatytc.com/p/b2ba1c565148
tp设置配置
配置很简单,只需要修改config/cache.php为:
return [
'type' => 'complex',
// 默认
'default' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
'path' => '',
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
],
// 文件
'file' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
'path' => '',
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
],
// redis
'redis' => [
'type' => 'redis',
'host' => '127.0.0.1',
'port' => '6379',
'password' => '',
// 全局缓存有效期(0为永久有效)
'expire' => 0,
// 缓存前缀
'prefix' => '',
],
];
这样,cache就支持文件和redis两种缓存方式了。
使用redis来存储缓存数据:
// 使用文件缓存
Cache::set('name','value',3600);
Cache::get('name');
// 使用Redis缓存
Cache::store('redis')->set('name','value',3600);
Cache::store('redis')->get('name');
// 切换到文件缓存
Cache::store('default')->set('name','value',3600);
Cache::store('default')->get('name');
使用redis的类方法操作
tp5.1的Cache类提供了一个方法,可以返回缓存类型的实例,这样就可以使用Redis类的缓存了
$redis = Cache::store('redis')->handler();
返回的为Redis对象,这样就可以使用Redis类里面的方法来操作redis缓存了。
phpredis扩展提供的方法参考:
https://github.com/phpredis/phpredis#hexists