• 技术文章 >php教程 >PHP源码

    php 缓存技术(1/4)

    2016-06-08 17:25:55原创465
    关于缓存技术不只在php有,很多系统都有,这是为了减轻服务吕压力与数据库压力来做的,本文章从php缓存技术入门到利用缓存实例来告诉你如何应用php来实例文件缓存描述。

    先看这个缓存类

    代码如下 复制代码

    class cache{
    /*
    class name: cache
    description: control to cache data,$cache_out_time is a array to save cache date time out.
    version: 1.0
    author: 老农 cjjer
    last modify:2006-2-26
    author url: http://www.111cn.net*/
    private $cache_dir;
    private $expiretime=180;//缓存的时间是 60 秒
    function __construct($cache_dirname){
    if(!@is_dir($cache_dirname)){
    if(!@mkdir($cache_dirname,0777)){
    $this->warn('缓存文件不存在而且不能创建,需要手动创建.');
    return false;
    }
    }
    $this->cache_dir = $cache_dirname;
    }
    function __destruct(){
    echo 'cache class bye.';
    }

    function get_url() {
    if (!isset($_server['request_uri'])) {
    $url = $_server['request_uri'];
    }else{
    $url = $_server['script_name'];
    $url .= (!empty($_server['query_string'])) ? '?' . $_server['query_string'] : '';
    }

    return $url;
    }

    function warn($errorstring){
    echo "发生错误:

    ".$errorstring."
    ";
    }

    function cache_page($pageurl,$pagedata){
    if(!$fso=fopen($pageurl,'w')){
    $this->warns('无法打开缓存文件.');//trigger_error
    return false;
    }
    if(!flock($fso,lock_ex)){//lock_nb,排它型锁定
    $this->warns('无法锁定缓存文件.');//trigger_error
    return false;
    }
    if(!fwrite($fso,$pagedata)){//写入字节流,serialize写入其他格式
    $this->warns('无法写入缓存文件.');//trigger_error
    return false;
    }
    flock($fso,lock_un);//释放锁定
    fclose($fso);
    return true;
    }

    首页 1 2 3 4 末页
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp cache return function server
    上一篇:jquery php ajax 投票程序源码 下一篇:php正则入门 实习email和URL验证
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 收藏PHP常用自定义函数• php微信支付接口开发程序(流程已通)• php对多维数组的某个键值排序方法• 检测移动设备的php代码(手机访问)• php 中利用 socket curl file_get_contents模仿用户post发送信息
    1/1

    PHP中文网