当前位置:  开发笔记 > 编程语言 > 正文

php中的对象持久化

如何解决《php中的对象持久化》经验,为你挑选了2个好方法。

我是网络编程的新手,我过去主要使用java来创建桌面应用程序.

我试图找出如何在PHP中创建持久对象.也许持久性不是正确的词,我不希望对象对每个客户端都是唯一的,就像我通过在会话变量中序列化它一样.我希望在服务器上创建对象,并始终可以访问同一个对象.该对象将查询数据库并存储一些数据.这样,每个页面加载,php代码将从同一个持久对象获取该数据,而不是每次都必须查询数据库.

我目前正在使用单例模式进行对象创建,因为我最初的理解是它可以让我完成我想要的.部分对象是一个数组,当我执行一个向数组添加值的php页面,并在同一页面上访问该值时,它很好.但是,当我向数组添加一个值,然后加载另一个访问该值的页面时,该数组将返回为空.

这可能吗?我是否过度反应认为查询数据库这么多是不好的?在任何一秒钟内,有时会有多达20个用户请求数据,我觉得每次查询数据库都是荒谬的.

谢谢



1> Andy..:

PHP没有像Java那样的持久性概念:JVM允许Java应用程序在HTTP请求之间持久存储在内存中; 每次提供新的HTTP请求时,Web服务器都会分叉一个新的PHP进程,因此对象的静态变量不会在请求之间为您保留数据.

使用数据库存储持久数据.Web编程侧重于并发性,因此您不必担心数据库查询 - 20秒就很少.如果达到数据库的限制,则可以通过添加只读从属来添加缓存层或"向外扩展"硬件.



2> AndreKR..:

通常,您可以使用数据库获得持久性.如果这是一个瓶颈,则开始缓存数据,例如在memcached中,或者可能是在Web服务器上带有序列化数组的本地文件.


你应该始终关心表现.它可以节省大量时间立即学习它.我不得不调整一次由别人制作的项目,这是用PHP制作的,并且存在性能问题.我花了很长时间才解决.比他现在做得更长.
对于简单的查询,哪个更快,查询数据库的相同数据,o缓存对象?假设查询本身需要0.1秒.通常,哪个更快的文件+序列化对象或数据库+对象群?
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有