Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免PHP中的一些SQL查询?_Php_Mysql - Fatal编程技术网

如何避免PHP中的一些SQL查询?

如何避免PHP中的一些SQL查询?,php,mysql,Php,Mysql,我正在开发一个带有jQuery和Twitter引导的PHP web应用程序。它在所有方面都使用AJAX。因此,我在HTML5中显示了一个表单,用户按下一个按钮(class=“btn”),表单被发送到PHP(jQuery,AJAX),PHP对MySQL进行查询并回显一个答案,该答案显示在表单(jQuery)中。这就是web应用程序的基本工作方式 但这是交易,它展示的第一种形式,它是一个展示新闻的div。例如: A new user was created. There is new impor

我正在开发一个带有jQuery和Twitter引导的PHP web应用程序。它在所有方面都使用AJAX。因此,我在HTML5中显示了一个表单,用户按下一个按钮(class=“btn”),表单被发送到PHP(jQuery,AJAX),PHP对MySQL进行查询并回显一个答案,该答案显示在表单(jQuery)中。这就是web应用程序的基本工作方式

但这是交易,它展示的第一种形式,它是一个展示新闻的div。例如:

 A new user was created.
 There is new important date.
 Someone wants to text you.
因此,我在MySQL中创建了一个名为News的表,其中保存了一些值,而不是表示:

 1: A new user was created
 ...
每次用户登录时,都会发现这一点。这意味着当用户登录时,HTML5一旦加载,就会有一个查询和响应

html文件有一个导航栏(引导)和一个选项调用News。当用户单击它时,将执行相同的查询,但不一定是相同的响应

我认为只要用户做了一个动作,就用news修改div。但是,一个操作也可以由另一个用户完成。所以有必要再次进行查询

当用户想要获取新闻时,是否有任何解决方案允许我避免查询数据库?或者我怎么知道现在有必要更新div?我正在研究缓存查询,但没有得出结论

对不起,如果我的英语不是很好,那不是我的母语


谢谢。

您可以在服务器的每个新闻响应中发送时间戳,并将其保存在javascript中。下次发出请求时,发送保存的时间戳,服务器检查是否有最近的消息,如果没有,则不发送任何消息,因为最后的响应仍然是最新的

嗯,这里有一个缺点,您仍然需要对数据库进行查询(使用WHERE子句过滤结果,如“WHERE…TIMESTAMP>last_TIMESTAMP_from_browser”),这是完全有效的,SGBDs就是为此而设计的,如果您没有成千上万的用户同时访问您的网站,就不会有任何问题。使用这种方法,您将只保存bandwitdh,因为与数据库的连接仍在进行中

还有另一种方法可以防止建立这种连接,缓存最后插入的新闻的一些值,这些值可以是用户特定的或全局的,并将它们保存在APC模块(或memcached)中。您需要发现要缓存的内容和时间(例如,您不能缓存整个数据库,只能缓存一些组织良好的时间戳和请求最多的新闻)。这样可以防止建立数据库连接。这将迫使您执行更多的代码,因此,只有在您真正需要时才使用它,就像一次连接数千个用户一样