石峡仙人
我服你了,你php运行模式不是常驻内存的守护进程,每次都需要重新生成对象,当然要实例化。
你以为是Java,C#之类啊
php中的单例,只是一个请求中多次获取,结果是同一个对象,不是多个请求!!!
ok&影子
比如数据库连接,你总不能每个操作都连接数据库,断开,查询吧
ok&影子
redis也一样
要保存好 连接完成的类实例
下次直接调用就行了
不用再次连接数据库
这就是单实例
石峡仙人
就是断开再连接,断开再连接。。。不想跟你说了
ok&影子
你别搞笑了
你去测测效率在说话
你去测测单实例,看看是不是每次都实例化?
石峡仙人
连接数据库mysql,也有长连接模式,就是一直连着,但那就叫长连接,不叫单例
好吧,可能你说的单实例,并不是我说的单例。你赢了
石峡仙人
php,绝大多数情况下,都是使用断开再连接的方式。这个我是没有说错的
石峡仙人
你要所谓一直连接,就认为是单例,不对,单实例。我也无话可说
你可以试试
ok&影子
这我知道,是断开再连接
但是你不知道 什么时候断开的
单实例解决的是什么
单实例解决的就是减少连接次数
石峡仙人
php,脚本结束,整个程序生命就结束了,什么时候断开,应该是它自己管理
ok&影子
比如 你1分钟后断开了,在这一分钟内所有对数据库的操作都不用再次建立连接
这就是单实例
按照你写那个函数的模式 不是这样的
你那个是每次请求都是断开连接断开连接的
其实 单实例 的连接次数要比这个少的多,所以效率高
石峡仙人
肯定不是,你没把问题说清楚,你要是早这样子说,我的答案只能是:我不懂。