慕课 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);
        }

    }
}

#测试

<?php

require_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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值