ThinkPHP6使用redis缓存
程序员文章站
2022-06-24 17:43:57
php安装redis扩展redis命令tp6缓存配置1、安装redis扩展后运行2、修改配置目录config下面的cache.php文件return [ 'default' => 'file', 'stores' => [ // 文件缓存 'file' => [ // 驱动方式 'type' => 'file',...
1、安装redis扩展后运行
2、修改配置目录config下面的cache.php文件
return [
'default' => 'file',
'stores' => [
// 文件缓存
'file' => [
// 驱动方式
'type' => 'file',
// 设置不同的缓存保存目录
'path' => '../runtime/file/',
],
// redis缓存
'redis' => [
// 驱动方式
'type' => 'redis',
// 服务器地址
'host' => '127.0.0.1',、
// 端口号
'port' => '6379',
// 密码
'password'=> "",
// 默认缓存时间
'timeout' => 3600
],
],];
3、上代码
很好理解 先获取redis的key,第一次查肯定是没有的,就从Mysql查询,然后设置key,再查询就读取key。
一句话:有缓存读取缓存,没有就查询数据(个人理解)
/**
* 查询商家信息
* @param $id 商家id
*/
public function getStoreInfo(Request $request)
{
$validate = new CommonValidate([
'id' => 'require|integer',
]);
if (!$validate->check($request->param())) {
return dm_json(1, $validate->getError());
}
$store_id = $request->param('id');
$redis = new Redis();
// 获取redis缓存
$store_info = $redis->get('getStoreInfo' . $store_id);
if (!$store_info) {
$store_info = StoreModel::where(['store_id' => $request->param('id')])->find()->toArray();
// 设置redis缓存 第一个参数 key,这里设置的是方法名拼接上传过来的商家id,防止重复,第二个参数就是 值
$redis->set('getStoreInfo' . $store_id, $store_info,10); //设置10秒过期 不填默认0为永久缓存
return api_json('0', ',mysql', $store_info);
} else {
return api_json('0', 'reids', $store_info);
}
}
4、查看效果
第一次访问
cmd命令行查看所有key
存到redis成功
10s内刷新页面 查询数据,读的redis缓存
10s后
本文地址:https://blog.csdn.net/qq_44718170/article/details/111831898