用于 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);
}

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

  1. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式

    方案一:读取数据库方式 从数据库读取信息→封装→生成接口数据 应用场景: 数据时效性比较高的系统 方案二:读取缓存方式 从数据库获取信息(第一次设置缓存或缓存失效时)→封装(第一次设置缓存或缓存失效时 ...

  2. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  3. amazeui学习笔记一(开始使用4)--Web App 相关

    amazeui学习笔记一(开始使用4)--Web App 相关 一.总结 1.桌面图标(Touch icon)解决方案:终极方案:link标签的rel和href属性: <link rel=&qu ...

  4. 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记

    <疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...

  5. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  6. OGG学习笔记02-单向复制配置实例

    OGG学习笔记02-单向复制配置实例 实验环境: 源端:192.168.1.30,Oracle 10.2.0.5 单实例 目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1. ...

  7. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  8. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式

    以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTim ...

  9. PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存

    Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储:Memcache 只是简单的key/valu ...

随机推荐

  1. 烟大 Contest1024 - 《挑战编程》第一章:入门 Problem D: LC-Display(模拟计算器显示数字)

    Problem D: LC-Display Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 14  Solved: 3[Submit][Status][We ...

  2. PowerDesigner破解

    1.从百度云盘下载:我的网盘 -- 开发工具空间 -- PowerDesgner12   2.安装powerDesigner   3.将Sybase.PowerDesigner.v12.5-Crack ...

  3. php中base64_decode与base64_encode加密解密函数

    php中base64_decode与base64_encode加密解密函数,实例分析了base64加密解密函数的具体用法,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了php中base64_ ...

  4. NDK的Paths and Symbols设定

    开发NDK的时候,如果JNI文件找不到C和C++的支持类,然后报很多很多红叉号, 是因为没有设定“Paths and Symbol”.

  5. 电脑上安装的android虚拟机,能进行基站定位和GPS定位吗?要怎么做才能定位?(转)

    基站定位是通过电信运营商的服务来实现的,至少你得有SIM卡吧,一般电脑是不会有电话功能的吧,所以,通过基站定位不可能. GPS是需要有相应的硬件来支持的,类似于手机需要有GPS模块才可以,电脑一般没有 ...

  6. Spring的lookup-method标签

    Spring的解析源码 public void parseLookupOverrideSubElements(Element beanEle, MethodOverrides overrides) { ...

  7. c#知识总结2

    四.C#类型转换 类型转换就是把一种类型转换成为另一种类型. 隐式类型转换:c#默认的以安全方式进行的转换.例如小整数类型转换为大整数类型.派生类转换为基类 显式类型转换:用户使用的预定义的函数显式完 ...

  8. datetime与smalldatetime之间的区别

    1.一直以为smalldatetime和datetime的差别只是在于时间范围: smalldatetime的有效时间范围1900/1/1~2079/6/6datetime的有效时间范围1753/1/ ...

  9. 【python游戏编程之旅】第三篇---pygame事件与设备轮询

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame中的IO.数据http://www.cnblogs.com/msxh/ ...

  10. System call in linux by C

    1: #include <stdlib.h> 2: int system(const char *command); 3:  4: while (something) { 5: int r ...