如果可以将对象存储在数据库中,那么将它们存储在内存中又有什么意义呢?


What's the point in storing objects in memory when you can store them in a databse?

对于我基于PHP的分配,我相信我必须使用对象(包括像集合类,集合迭代器等项目),以及MySQL数据库。

我的问题是,为什么我需要创建项目作为对象,将它们存储在数据库中,然后在拔出数据库时再次将它们创建为对象,当我可以直接放入和取出数据库并将项目用于我需要的东西时?

或者更好地说,如果有的话,将对象存储在PHP内存中(PHP存储对象的地方)以及将它们存储在数据库中(而不是仅仅将它们存储在数据库中)的好处是什么?

将数据作为对象存储在内存中,只是来自数据库的数据的一种表示——这两者是不一样的。内存中的PHP对象根本不是持久化的,而MySQL存储是。让它们"在内存中"只是为了使用"简单"。

与从内存中存储和检索对象相比,从数据库(或其他基于磁盘的存储)中存储和检索对象有相当大的开销。尝试创建一个简单的基准测试应用程序,您将注意到差异。