本帖最后由 xeqtrl982 于 2011-01-04 10:57:29 编辑

解决方案 »

  1.   

    楼上的,关键是PHP每次连接都需要创建对象的,以前创建的对象根本就无法复用
      

  2.   

    感觉PHP还是一个半服务器端的产品,没有强大的容器做支撑,效力会打折扣的。
    但要从另一方面考虑,在服务器端没有常驻内存的东西,也是件好事
      

  3.   

    由于php没有自己专用的平台,所以很难产生常驻内存的对象。不过你可以可以用序列化存储对象,并在取回时恢复连接
      

  4.   

    这个只用PHP没办法,PHP层面的话,实现单例就够了如果真的负载高到那程度,用memcache之类来缓存,效果很明显了。
      

  5.   

    话说,使用频率高、复杂配置可以考虑写成php扩展结合php-fpm应该也可以,不过我自己在项目中没用过,还没到那数量级象开心农场之前的代码中,也有部分是做成扩展的。
      

  6.   

    单例模式class Singleton
    {
        private static $instance;    private function __construct()
        {
        }    public static function getInstance()
        {
            if(self::$instance == null)
            {
                self::$instance = new Singleton();
            }        return self::$instance;
        }
    }
    $Instance=Singleton::getInstance();
    //在多次调用该实例运算可以不用多次实例化,性能上得到了优化
      

  7.   

    虽然说每次请求都实例化对象,但是有的时候一个请求,有很多次用到了这个对象,要实例化,还是有开销的,与其是一些核心的类,所以php还是有必要使用单例模式的。
      

  8.   

    有必要,很多时候同一次请求也可能多次使用某个类的实例。
    最形象就是数据库,比如构建了个工厂类,获取其它类实例。$db = MyFactory::getDbo();//绝对要单例获取数据库类实例。当然采用inlcude file的形式也可以,但总不能每个类,都弄成个文件
      

  9.   

    开发PHP,这些难道不是一个很基础的架构问题吗