缓存类的实例有什么好处?

Mil*_* M. 1 php oop caching apc

我有一个应用程序,我重复使用相同的(大)类.由于我为该App使用AJAX,我总是要创建这个类的新对象.有人建议我缓存这个类的实例并在需要时使用它(在php环境中使用apc)

它有什么好处?它真的节省了一些时间吗?

    $this->tickets_persist = unserialize(@apc_fetch("Tickets"));

    if (!$this->tickets_persist) {
            $this->tickets_persist = new Tickets_Persistance(); // Take long time
            apc_store("Tickets", serialize($this->tickets_persist));
    } 
Run Code Online (Sandbox Code Playgroud)

Ora*_*ill 5

只有在处理具有昂贵实例化成本的类时才能真正实现这些好处.如果有很多时间,内存或其他资源在类的构造函数中完成(例如:读取XML站点地图并构建复杂的数据结构来构建导航.)您可以通过利用缓存来避免这种情况.

另外值得一提的是,资源(如数据库链接和这样的)不能被缓存,他们将不得不重新建立后,对象是序列化的(这里就是__sleep__wakeup魔术方法进来).