PHP,这是将数据存储到会话和数据库之间的更好方式


PHP, which is the better way between storing data into session and database?

我正在构建一个为用户显示推荐页面的网站。

用户只需单击"下一步"按钮即可查看不同的推荐网页。

我想检查用户可以进行的每一项活动。

因此,我将检查用户实际看到的页面视图。

1. there is a 'user_pageview' column for each users.
2. the numbers will increase every time if users click next button.

我可以每次发送一个查询来更新数据。

然而,我相信这一步会让我的服务器感到厌烦。

因此,我正在考虑将数据保存到会话中一段时间,然后再保存。

你觉得怎么样?

是的,这会"惹恼你的服务器"
就像你骑着它"惹恼"你的车一样。

数据库服务器的目的是操作数据存储、检索、过滤等。
在数据库中存储数据基本上没有任何错误。

索引重建(如果有的话)可能存在问题
然而,跟踪用户会话也会出现问题。

所以,在数据库出现某些问题(很可能永远不会发生)之前,我不会打扰会话。

我看不出在每个页面视图上增加user_pageview有什么问题,你可以做

update table views set user_pageview = user_pageview + 1 where page_id = 4

无论如何,您的PHP脚本都会连接到您的数据库,并且仅凭查询不应该杀死您的服务器。

将其保存到会话中也会"惹恼"您的服务器,因为您需要发出请求才能将其保存在会话中。

如果你指的是数据库服务器,我的问题是:这是个问题吗。你注意到数据库服务器正在成为瓶颈吗?我不这么认为,因为数据库服务器应该很容易处理它

然而,我认为你确实有数据库性能问题,只有这样你才能找到一种通过缓存东西来减轻数据库服务器负担的方法。例如,您可以将其存储在会话中(确保在会话被销毁之前更新数据库),也可以使用客户端的缓存(本地存储)。

同样,只有当数据库服务器成为瓶颈时,才应该研究这个问题。如果是这种情况,我会首先检查WTH是否与我的数据库有问题(为什么它是瓶颈)。