#文件:

存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接口(三)相关推荐

  1. php app接口id参数类型过滤,PHP开发APP接口---返回数据的封装类

    /** * app返回数据类 * 1.接受多维,缺少键名的数组, * 2.可由输入的format参数决定返回数据格式 * 例子:Response::show(200, 'success', $data ...

  2. appcontroller.php,php用什么开发app接口

    可以使用 REST模式 来开发 App 接口,首先建立一个公共控制器,再建其他控制器继承它即可. 确定好返回的数据内容格式及信息码: (推荐学习:PHP视频教程)<?php // App接口公共 ...

  3. PHP开发APP接口(二)

    这里将会调用前面博客的数据库连接单例.文件缓存类和开发APP接口(一) [php] view plain copy  print? <?php // http://app.com/list.ph ...

  4. php开发APP接口 接收客户端的图片

    php开发APP接口 接收客户端的图片 header( "Content-Type: image/jpeg" ); $filename = time(). '.png' ; $st ...

  5. php app接口开发,「PHP开发APP接口实战005」基础示例接口的实现一

    前一章,我们对接口参数基本定义做了一个简要说明.里面提到了几个示例接口,接下来,我们就来讲解这个几点个示例接口的具体实现. 「PHP开发APP接口实战004」基础响应参数说明 前言 由于我们的接口返回 ...

  6. PHP开发APP接口全过程(一)

    1.学习要点: 服务器端 –> 数据库|缓存 –>调用接口 –>客户端 2.APP接口介绍:(PHP开发APP接口) PHP面向对象的接口:抽象类,interface定义 ==> ...

  7. php开发APP接口(一)

    php开发APP接口(一) 使用PHP来生成APP接口数据是非常简单的,如果你还不了解PHP没有关系,只需要看过PHP的基本语法,再看本示例就可以了. APP接口一般都是json格式(当然也有少数xm ...

  8. php接口调用实例源代码,小蚂蚁学习APP接口开发(7)—— APP接口实例——读取缓存方式开发APP接口的代码案例...

    从数据库中直接读取数据,虽然时效性很强,但是对数据库造成很大压力,尤其是在高访问量的情况下.这时候可以通过缓存,来有效的缓解了这一压力,虽然时效性有些不足,但是服务器的抗压能力却达到了很大的提高. 读 ...

  9. php 面向接口,php开发app接口

    一.app接口简介:与PHP面向对象的接口不同,是通信接口地址 1.条件: 1)接口地址 2)接口文件 3)接口数据 2.如何通信 1)类似BS模式 3.客户端app通信格式区别:xml和json 1 ...

最新文章

  1. C++内存分配和管理
  2. Apache经常使用配置
  3. 又一个高等级数据中心着火了!
  4. 如何从官方渠道下载Spring MVC所需jar包
  5. 解决SVN:E210007无法协商认证机制
  6. python怎么写出来的_如何写出优雅又地道的Python代码?【转载】
  7. NCRE四级网络工程师考题详解----三级索引结构
  8. 【编译原理笔记14】中间代码生成:布尔表达式的回填,控制流语句的回填,switch语句的翻译,过程调用语句的翻译
  9. XNA:2D图元与3D模型共存时的渲染问题
  10. miui国际版/波兰版 开通公交卡 / 模拟门禁卡
  11. 3600000毫秒等于多少小时_毫秒换算(秒与毫秒换算)
  12. CSS改变table内置tbody滚动条
  13. oracle数据库表的一些基本处理
  14. 重度抑郁症患者的脑龄
  15. 石子合并问题java_动态规划求石子合并问题
  16. 2021年安全员-A证最新解析及安全员-A证试题及解析
  17. 原厂技术支持FLD5302和FLD5303升压充电芯片
  18. 仿真软件LTspice之《第三方spice模型导入方法》
  19. 机器学习笔记(机器学习很难么???那必然难啊!!!)
  20. 苹果手机如何设置铃声

热门文章

  1. 神经网络与深度学习——笔记1
  2. Vue 打包优化之 externals 抽离公共的第三方库
  3. CSS学习笔记(七) 背景
  4. CDH安装手册(详细过程)
  5. 必备!25个非常优秀的可视化图形,有画法
  6. AirSim (六) ---理解篇: Airsim中的IMU数据信息
  7. java 递归终止_java中执行程序如何终止递归?
  8. javascript Backbone框架学习
  9. 他俩都曾是技术大牛,创业这些年来有怎样的苦与乐?
  10. Matlab_输出成绩等级A、B、C、D、E