慕课 php 开发APP接口(三)
#文件:
存key value 值
$value 不为空,则存,为空 则读,为 null 则删除
class File{private $_dir;const EXT = '.txt';public function __construct(){$this->_dir = dirname(__FILE__).'/files/';}public function cacheData($key,$value='',$path=''){$filename = $this->_dir.$path.$key.self::EXT;if($value !== ''){if(is_null($value)){return @unlink($filename);}$dir = dirname($filename);if(!is_dir($dir)){mkdir($dir,0777);}return file_put_contents($filename,json_encode($value));}if(!is_file($filename)){return false;}else{return json_decode(file_get_contents($filename),true);}}
}
#测试
<?phprequire_once('./response.php');
require_once('./file.php');$arr = array('id'=>1,'name'=>'singwa','type'=>array(4,5,6),'test'=>array(1,45,67=>array(123,'dsagt'))
);//Response::json(200,'success',$arr);
//Response::show(200,'success',$arr,'json');$file = new File();
$cacheData = $file->cacheData('index_mk_cache',$arr);
if($cacheData){print_r($cacheData);echo "success";
}else{echo "error";
}
#安装 redis 参考我这篇文章
#获取 redis目录
whereis redis
显示 /etc/redis 所在的目录
#开启redis
redis-server /etc/redis/redis.conf
我默认是开启这一步,并加入全局变量了,不需要执行这一步
#进入redis 终端
redis-cli
#设置值
set singwa 12
#获取值
get singwa
没有值则为 nil
#设置过期时间
setex singwa 12 aaa
第二个参数是过期时间 (秒)
#删除
del singwa
#退出
exit
#php 操作redis
#新建 setCache.php
<?php$redis = new Redis();
$redis->connect('127.0.0.1',6379);$redis->set('singwa',123);
执行
php setCache.php
redis-cli
get singwa
exit
#新建getCache.php
<?php$redis = new Redis();
$redis->connect('127.0.0.1',6379);$result = $redis->get('singwa');
var_dump($result);
#执行
php getCache.php
#设置有效时间
$redis->setex('singwa',15,'dfsagas');
#memcache 类似redis 新建memcache.php
<?php$memcache_obj = new Memcache();
$memcache_obj->connect('memcache_host',11211);$memcache_obj->set('var_key','some value',MEMCACHE_COMPRESSED,50);
echo $memcache_obj->get('var_key');
#定时任务
1.定时任务服务提供 crontab 命令来设定服务
2.crontab -e // 编辑某个用户的cron 服务
3.crontab -l //列出某个用户cron 服务的详细内容
4.crontab -r //删除某个用户的cron 服务
详细参照我这篇文章
#新建一个定时任务
sudo crontab -e
添加
*/1 * * * * /usr/bin/php /usr/share/nginx/html/mukeApi/12.php
秒 分钟 小时 月 星期 命令
#列出
sudo crontab -l
#删除
sudo crontab -r
#创建测试数据
mysql -uroot -p
show databases;
create database mukeapi;
use mukeapi;
#创建数据表 catagory
CREATE TABLE `category` (
`category_id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(200) NOT NULL,`parent_id` int(10) NOT NULL,`path` varchar(255) NOT NULL,`create_time` int(11) NOT NULL,`update_time` int(11) NOT NULL,PRIMARY KEY (`category_id`)
);show tables;
exit;
#创建 cron.php
<?php$connect = mysql_connect('127.0.0.1','root','');
mysql_select_db('mukeapi',$connect);
$sql = "INSERT INTO `category` (`name`, `create_time`) VALUES ('dagtgdsa',".time().")";
mysql_query($sql,$connect);
#开启定时任务
sudo crontab -e
×/1 × × × × /usr/bin/php /usr/share/nginx/html/mukeApi/cron.php
# 删除定时任务
sudo crontab -r
sudo crontab -l
慕课 php 开发APP接口(三)相关推荐
- php app接口id参数类型过滤,PHP开发APP接口---返回数据的封装类
/** * app返回数据类 * 1.接受多维,缺少键名的数组, * 2.可由输入的format参数决定返回数据格式 * 例子:Response::show(200, 'success', $data ...
- appcontroller.php,php用什么开发app接口
可以使用 REST模式 来开发 App 接口,首先建立一个公共控制器,再建其他控制器继承它即可. 确定好返回的数据内容格式及信息码: (推荐学习:PHP视频教程)<?php // App接口公共 ...
- PHP开发APP接口(二)
这里将会调用前面博客的数据库连接单例.文件缓存类和开发APP接口(一) [php] view plain copy print? <?php // http://app.com/list.ph ...
- php开发APP接口 接收客户端的图片
php开发APP接口 接收客户端的图片 header( "Content-Type: image/jpeg" ); $filename = time(). '.png' ; $st ...
- php app接口开发,「PHP开发APP接口实战005」基础示例接口的实现一
前一章,我们对接口参数基本定义做了一个简要说明.里面提到了几个示例接口,接下来,我们就来讲解这个几点个示例接口的具体实现. 「PHP开发APP接口实战004」基础响应参数说明 前言 由于我们的接口返回 ...
- PHP开发APP接口全过程(一)
1.学习要点: 服务器端 –> 数据库|缓存 –>调用接口 –>客户端 2.APP接口介绍:(PHP开发APP接口) PHP面向对象的接口:抽象类,interface定义 ==> ...
- php开发APP接口(一)
php开发APP接口(一) 使用PHP来生成APP接口数据是非常简单的,如果你还不了解PHP没有关系,只需要看过PHP的基本语法,再看本示例就可以了. APP接口一般都是json格式(当然也有少数xm ...
- php接口调用实例源代码,小蚂蚁学习APP接口开发(7)—— APP接口实例——读取缓存方式开发APP接口的代码案例...
从数据库中直接读取数据,虽然时效性很强,但是对数据库造成很大压力,尤其是在高访问量的情况下.这时候可以通过缓存,来有效的缓解了这一压力,虽然时效性有些不足,但是服务器的抗压能力却达到了很大的提高. 读 ...
- php 面向接口,php开发app接口
一.app接口简介:与PHP面向对象的接口不同,是通信接口地址 1.条件: 1)接口地址 2)接口文件 3)接口数据 2.如何通信 1)类似BS模式 3.客户端app通信格式区别:xml和json 1 ...
最新文章
- C++内存分配和管理
- Apache经常使用配置
- 又一个高等级数据中心着火了!
- 如何从官方渠道下载Spring MVC所需jar包
- 解决SVN:E210007无法协商认证机制
- python怎么写出来的_如何写出优雅又地道的Python代码?【转载】
- NCRE四级网络工程师考题详解----三级索引结构
- 【编译原理笔记14】中间代码生成:布尔表达式的回填,控制流语句的回填,switch语句的翻译,过程调用语句的翻译
- XNA:2D图元与3D模型共存时的渲染问题
- miui国际版/波兰版 开通公交卡 / 模拟门禁卡
- 3600000毫秒等于多少小时_毫秒换算(秒与毫秒换算)
- CSS改变table内置tbody滚动条
- oracle数据库表的一些基本处理
- 重度抑郁症患者的脑龄
- 石子合并问题java_动态规划求石子合并问题
- 2021年安全员-A证最新解析及安全员-A证试题及解析
- 原厂技术支持FLD5302和FLD5303升压充电芯片
- 仿真软件LTspice之《第三方spice模型导入方法》
- 机器学习笔记(机器学习很难么???那必然难啊!!!)
- 苹果手机如何设置铃声