-3

我设计了我的模型视图控制器。我想要做的是将mysql获取的查询数据存储到php文件或localStorage或sessionStorage中,以便可以重复使用存储的信息而不会一遍又一遍地打扰数据库。我也可以将此信息保存到 php 会话中,但使用大量会话可能会导致服务器速度变慢。

在这种特殊情况下,将信息存储在任何上述存储中是否是一种好习惯?

4

2 回答 2

0

一点都不。您的数据库在这些任务中是最快和最有效的,因此使用会话之类的东西来存储数据是个坏主意。不过,您可以使用像Doctrine这样的 ORM 来查看持久对象。

于 2013-11-03T23:45:38.833 回答
0

您尝试执行的操作的概念称为“缓存”。这是一篇关于一种简单方法的文章,有点像你在说的:http ://www.xeweb.net/2010/01/15/simple-php-caching/ 。

它是否是“良好实践”在很大程度上取决于您的应用程序。如果它是一个结果不经常更改的 SQL 查询(您可能想重新考虑为什么在这些情况下进行查询)和一个运行起来非常耗时的复杂查询,那么就去做吧。我建议不要这样做,除非该标准适用,因为您使用数据库是有原因的:您希望它是动态的。大多数数据库可以处理大量查询,并且您的查询和数据可以针对您将经常运行的查询进行优化。

您是否注意到运行查询需要很长时间?您是否已将问题隔离到数据库?最重要的是:数据是否经常变化,您的用户是否关心他们的视图不会是最新的?

我应该补充一点,在会话存储中存储这样的东西很少是个好主意。您使用会话存储的唯一用途是用于用户名或匿名用户的购物车。从不用于查询缓存。

于 2013-11-03T23:47:15.710 回答