我的页面有一个更大的查询形式mysql,结果可能超过2MB。因为我的服务器上没有足够的内存(我应该为mysql安排内存以加快查询时间),所以我放弃了memcached。相反,它是一个txt文件。
如何像这种情况锁定文件?如果文件是锁定的,则仅读取,如果文件未锁定,则先写入然后读取。感谢。
if((time()-filemtime(filename)) > 60){
//mysql_query; query time less than 1.5 seconds
if(ex_lock){ // if file is lock, only read
file_get_contents($filename);
}else{ // if file isn't lock, first write then read
file_put_contents($filename, $query_contents);//some file size could be 2mb
file_get_contents($filename);
}
}