php实现文件缓存,php处理并发有哪些技术php缓存技术教程

本文目录一览:

php伪静态情况下实现的文件缓存实现代码

PHP静态文件生成方法:

ob_start();    //开启缓存                        

require_once(‘./templates/moban.php’); //导入模板文件(页面)

file_put_contents(‘index.html’,ob_get_contents()); //生成静态文件index.html

php文件缓存类汇总

本文实例讲述了php的文件缓存类。分享给大家供大家参考。具体分析如下:

缓存类是我们开发应用中会常用使用到的功能,下面就来给大家整理几个php文件缓存类了,各个文件缓存类写法不同,但在性能上会有区别,有兴趣测试的朋友可测试一下这些缓存类。

例1

复制代码

代码如下:?php

$fzz

=

new

fzz_cache;

$fzz-kk

=

$_SERVER;

//写入缓存

//$fzz-set(“kk”,$_SERVER,10000);

//此方法不与类属性想冲突,可以用任意缓存名;

print_r($fzz-kk);

//读取缓存

//print_r($fzz-get(“kk”));

//unset($fzz-kk);

//删除缓存

//$fzz-_unset(“kk”);

var_dump(isset($fzz-kk));

//判断缓存是否存在

//$fzz-_isset(“kk”);

//$fzz-clear();

//清理过期缓存

//$fzz-clear_all();

//清理所有缓存文件

class

fzz_cache{

public

$limit_time

=

20000;

//缓存过期时间

public

$cache_dir

=

“data”;

//缓存文件保存目录

//写入缓存

function

__set($key

,

$val){

$this-_set($key

,$val);

}

//第三个参数为过期时间

function

_set($key

,$val,$limit_time=null){

$limit_time

=

$limit_time

?

$limit_time

:

$this-limit_time;

$file

=

$this-cache_dir.”/”.$key.”.cache”;

$val

=

serialize($val);

@file_put_contents($file,$val)

or

$this-error(__line__,”fail

to

write

in

file”);

@chmod($file,0777);

@touch($file,time()+$limit_time)

or

$this-error(__line__,”fail

to

change

time”);

}

//读取缓存

function

__get($key){

return

$this-_get($key);

}

function

_get($key){

$file

=

$this-cache_dir.”/”.$key.”.cache”;

if

(@filemtime($file)=time()){

return

unserialize(file_get_contents($file));

}else{

@unlink($file)

or

$this-error(__line__,”fail

to

unlink”);

return

false;

}

}

//删除缓存文件

function

__unset($key){

return

$this-_unset($key);

}

function

_unset($key){

if

(@unlink($this-cache_dir.”/”.$key.”.cache”)){

return

true;

}else{

return

false;

}

}

//检查缓存是否存在,过期则认为不存在

function

__isset($key){

return

$this-_isset($key);

}

function

_isset($key){

$file

=

$this-cache_dir.”/”.$key.”.cache”;

if

(@filemtime($file)=time()){

return

true;

}else{

@unlink($file)

;

return

false;

}

}

//清除过期缓存文件

function

clear(){

$files

=

scandir($this-cache_dir);

foreach

($files

as

$val){

if

(filemtime($this-cache_dir.”/”.$val)time()){

@unlink($this-cache_dir.”/”.$val);

}

}

}

//清除所有缓存文件

function

clear_all(){

$files

=

scandir($this-cache_dir);

foreach

($files

as

$val){

@unlink($this-cache_dir.”/”.$val);

}

}

function

error($msg,$debug

=

false)

{

$err

=

new

Exception($msg);

$str

=

“pre

span

style=’color:red’error:/span

“.print_r($err-getTrace(),1).”

/pre”;

if($debug

==

true)

{

file_put_contents(date(‘Y-m-d

H_i_s’).”.log”,$str);

return

$str;

}else{

die($str);

}

}

}

?

php 中如何使用缓存,使用哪种缓存机制最好;

php的缓存三种.有文件缓存,数据库缓存,memcache缓存;

memcache缓存要求对服务器支持,而且它的缓存是由期限的,一般是30天。这种缓存的效率是最高的。读存取的速度最快。

数据库缓存

文件缓存比较简单。适用小的项目。和php新手

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/198512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-04 10:25
下一篇 2024-12-04 10:26

相关推荐

  • MQTT使用教程

    MQTT是一种轻量级的消息传输协议,适用于物联网领域中的设备与云端、设备与设备之间的数据传输。本文将介绍使用MQTT实现设备与云端数据传输的方法和注意事项。 一、准备工作 在使用M…

    编程 2025-04-29
  • Python3.6.5下载安装教程

    Python是一种面向对象、解释型计算机程序语言。它是一门动态语言,因为它不会对程序员提前声明变量类型,而是在变量第一次赋值时自动识别该变量的类型。 Python3.6.5是Pyt…

    编程 2025-04-29
  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29

发表回复

登录后才能评论