PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式

用于 linux 执行 crontab 命令生成缓存的文件 crop.php

复制代码
<?php
//让crontab 定时执行的脚本程序
require_once 'db.php';
require_once 'file.php';

$sql = 'select * from review where is_enabled = 1 order by creation_time desc limit 6';
try{
    $connect = DB::getInstance()->connect();
}catch(Exception $e){
    //如果捕获异常,记录错误日志
    file_put_contents('logs/'.date('Y-m-d').'.txt',$e->getMessage());
    return; 
}
$res = mysql_query($sql,$connect);    
$vals = array();
while($val = mysql_fetch_assoc($res)){
    $vals[] = $val; //二维数组
}
//加入缓存
$file = new Cache();
if($vals){
    $file->cacheData('index-cron_cache',$vals);
}else{
    file_put_contents('logs/'.date('Y-m-d').'.txt','没有相关数据');
    return;
}
复制代码

注意捕获数据库连接的异常时,应该记录在日志文件中。

 

测试缓存的文件 list2.php

复制代码
<?php
require_once 'response.php';
require_once 'file.php';

$file = new Cache();
$data = $file->cacheData('index-cron_cache');
//如果获取到数据,则生成接口数据
if($data){
    return Response::show(200,'获取缓存成功',$data);
}else{
    return Response::show(400,'首页数据获取失败',$vals);
}
复制代码

 

posted @   nemo20  阅读(215)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
访客数:AmazingCounters.com
2016/05/17 起统计
点击右上角即可分享
微信分享提示