【发布时间】:2014-04-08 19:52:24
【问题描述】:
MYSQL 结构: 多个数据库在每个数据库中具有相同的表,格式为:
db1.a
db1.b
...
db2.a
db2.b
...
....
....等等
PHP 结构:
./includes/ --> 包含常量的文件
./work/ --> 用于与 db 交互的文件
main.php --> 检查工作文件夹内文件中的请求类型和调用函数
Android HTTP 请求和响应查询将使用 JSON 访问此系统,并以相同的方式从数据库返回数据。 服务请求的代码将保持不变,只有数据库会根据用户而改变。
问题的症结在于 - 成千上万的用户会从 Android 应用程序向任何一个函数发送请求,该函数在单个请求中只与特定数据库的 1 个表进行交互。本质上,每个请求中要执行的代码非常小,每个请求最多 2 或 3 个 db 查询。
我感觉我的解决方案在某种程度上是错误的。一定有办法优化这么多请求。
我将包含多个包含每个请求的数组常量的包含文件。这会导致响应延迟吗?我目前正在包含文件,创建包含常量的类的对象并将其传递给所需的任何函数。在 memcached 中保留包含对象会更快吗?为所有请求将对象保留在内存中的任何其他方法。 注意:如果我将包含常量保持为静态,代码会变得更加复杂,因为我必须在每个函数中声明它们是全局的,这在以后处理起来会非常麻烦。
我读到有人使用某种框架或其他框架 - zend、symphony。使用这样的框架有什么好处,我有必要使用其中任何一个吗?
-
有没有办法让对象和数据库连接保持一个会话,以便在给定的时间范围内,如果具有相同会话 id 的同一用户发出请求,每个 php 资源都会被重用?
任何帮助将不胜感激。
【问题讨论】: