#文件:
存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