初学php请问就是php怎么建立持久化连接呢,就是不用每个页面都写connection
页面刷新从mysql取值的时候也会很慢

解决方案 »

  1.   


    就是 每次在页面刷点提交或者 修改数据库的数据时候  都很反映很慢  我记得在java中 就不会出现这种情况  点提交 用ajax就很快
      

  2.   

    建立持久化连接    每个页面都写connection
    这应该算2个概念吧,你这里connection也是直接链接的代码或句柄吧,就算是持久化链接你每个页面也要引入链接数据库的代码吧,你说的这个应该是把 数据库操作写到一个文件中或类中,每个页面引入这个文件或这个数据库类的句柄
      

  3.   


    请去理解php的机制,他和java是不一样的,或者你看哈以前著名的php沉思录
      

  4.   

    php里有pconnect, 虽然和java的不太一样...如果你出现"每次在页面刷点提交或者 修改数据库的数据时候 都很反映很慢"这样的问题而且能够直接感觉到, 那一定是有别的问题, 不是因为p还是不p的问题. p不p的区别不会如此明显. 
    "我记得在java中 就不会出现这种情况 点提交 用ajax就很快"
    ......嗯,不同的环境实在没法这样简单比较...就算你的java很快也绝不是因为持续连接的差别.
      

  5.   

    http://www.cnblogs.com/OtisBlog/archive/2009/02/06/1385631.html
    你看看這個吧
      

  6.   

    最有效的方法是,安裝memcached,建立一次连接之后,把对象存入memcached里,以后直接调用就好了.
      

  7.   

    用Pconnection就行了,不会断开了
      

  8.   

    我研究了两天终于有解决方法了:如下
    <?php
    Session_start();
    IF(IsSet($_SESSION['c'])) {
    $cls=unserialize(base64_decode($_SESSION['c']));
    Echo '<br>存在了'.$cls->A.'<br>';
    }Else{
    $cls=New Cls();
    $_SESSION['c']=base64_encode(serialize($cls));
    Echo '<br>不存在'.$cls->A.'<br>';
    }
    var_dump($_SESSION['c']);IF(is_object($cls)) {
    Echo '<br>這是一個對象<br>';
    }Else{
    Echo '<br>這不是一個對象<br>';
    }Class Cls{
    Public  $A='<br>[該內容來自class]<br>';
    Function __construct() {
    Echo '<br>---------<br>';
    Return $this->A;
    }
    }
      

  9.   

    我说一下思路,上边的做法可以把一个类给建立一次实例化,然后存入session,以后就不会每次都实例化这个类了,只需要读取session就好了,同样的你所说的要建立长连接不需要每次都连接数据库也是这样的道理,只需要把链接数据库的class实例化一次然后存入session,以后要用的时候直接从session里取得实例就好了.
      

  10.   

    当然了,我在第13楼所说的存入memcache也可以,做法是一样的,只不过存放的位置不同罢了.
      

  11.   

    to:sibang思路不错,但不能实现数据库持久化的效果你可以简单测试一下将句柄存入session后,不会是个有效的资源
      

  12.   

    可以的,我測試過了,這裡有完整的示例:
    http://download.csdn.net/detail/sibang/4671085
      

  13.   

    以前大家一直认为PHP无法建立持久性链接,包括我阅读的左轻侯的php沉思(一)http://www.bloggern.com/1557.html也是这样认为.
    但是这个惯性思维现在已经完全打破了,如果高手们能够把这个思路给进一步的完善一下的话,估计以后的php执行速度会上好几个台阶的.
    这个思路的完整演示代码下载地址是:http://download.csdn.net/detail/sibang/4671085
      

  14.   

    如果有什么问题的话,可以加我的php自学群一起讨论:223494678(群共享里也有这段示例代码可以下载)
      

  15.   

    但你仍然要每次预先加载类的定义,而且每次都要将对象的字符串表示反序列化。
    我觉得这样做其实比直接new一个对象要慢,虽然我还没有去测试过。
    至于靠这样做能保持一个持久连接,是不可能的