小蚂蚁学习APP接口开发(4)—— 静态缓存的操作方法和定时任务
小蚂蚁学习APP接口开发(4)—— 静态缓存的操作方法和定时任务
嗜学如命的小蚂蚁 发表于2年前
小蚂蚁学习APP接口开发(4)—— 静态缓存的操作方法和定时任务
  • 发表于 2年前
  • 阅读 403
  • 收藏 2
  • 点赞 0
  • 评论 0
摘要: 一个方法实现对静态缓存的生成,修改和删除,linux下使用crontab实现简单的定时任务。

静态缓存的操作

    这个之前写的页面静态化有异曲同工之妙,无非就是获取数据、写入数据、读出数据则几个动作。例子中写了一个方法,通过对参数的判断,可以对静态缓存文件进行生成、修改和删除,比较容易操作。

<?php

class File{

	//缓存文件的路径
	private $_dir;

	//缓存文件的默认路径
	const EXT='.txt';

	//构造方法生成目录
	function __construct(){
		$this->_dir	=	dirname(__FILE__).'/files/';
		if(!is_dir($this->_dir)){
			mkdir($this->_dir,0777);	
		}
	}

	/*************************
	*
	*	缓存文件的生成,修改,删除
	*	$value有值,写入。无值,读出。为null,删除
	*	@param 	 string		$key 	文件名 	
	*	@param 	 mixed		$value 	缓存的数据	
	*	@param 	 string		$path 	缓存文件的路径
	*	return 	 mixed 		返回值为布尔值,字符串,整型
	*
	*******************/
	public function cacheData($key,$value='',$path=''){
		
		//缓存文件的全路径
		$filename	=	$this->_dir.$path.$key.self::EXT;

		//如果value为null,这删除这个静态缓存
		if(is_null($value)){
			return @unlink($filename);

		}
		

		//如果$value不等于空,说明是写入操作
		if($value != ''){
			//判断提交的path是否存在
			$dir 	=	dirname($filename);
			if(!is_dir($dir)){
				mkdir($dir,0777);
			}
			//经数据json化,保存到文件

			return file_put_contents($filename,json_encode($value));
		}elseif($value == ''){    //说明是读取操作
			if(is_file($filename)){
				return json_decode(file_get_contents($filename),true);
			}else{
				return false;
			}
		}

	}
}

	$file =	new File();
	$str=$file->cacheData('myblog','学php的小蚂蚁 博客 http://my.oschina.net/woshixiaomayi/blog');
	if($str){
		if(is_bool($str)){
			echo 'success';
		}else{
			echo $str;
		}
	}else{
		echo 'error';
	}

?>

    主要判断第二个参数$value,如果有值,则写入;如果无值,就读取;如果是null,就删除;

在linux系统设置定时任务

命令:    1.    crontab -e    编辑某个用户的cron任务

              2.    crontab -l    列出某个用户cron服务的详细内容

              3.    crontab -r    删除定时任务

定时任务的格式

分            时            日        月            星期            命令

    *            *            *            *            *  

0-59        0-23        1-31    1-12        0-6            command

注:* 代表取值范围内的数字        / 代表 每 ,比如每分钟

例如:

    */1    *    *    *    *        php        /data/www/index.php        每分钟执行index.php脚本

    50    7    *    *    *        /sbin/service    sshd    start                每天7:50分开启ssh服务

共有 人打赏支持
粉丝 132
博文 161
码字总数 100864
×
嗜学如命的小蚂蚁
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: