我正在一个网站上工作,我使用会话登录我的用户并存储他们的搜索结果(最多480行,18列 - 编辑:gzcompress后大约35KB的数据)
这就是我的所作所为:
$_SESSION['results_cache']= gzcompress(serialize($results),2);
当我需要阅读它时:
$results = unserialize(gzuncompress($_SESSION['results_cache']));
我需要这样做,因为我的结果永远不会相同,它们按日期排序,并且可以高频率更新。 因此,要在不弄乱结果的情况下浏览不同的页面,我需要保存结果。
我不确定我的方式是否正常,我不确定它是如何工作的,比方说,10万用户(我很乐观:)。
如果有人能给我他们的意见。
答案 0 :(得分:0)
好的,这就是我所做的。
由于我有一个可以通过ID检索产品的功能,因此我将搜索结果更改为仅返回必要的列," id"还有2个,它们是在请求中随时创建的,需要订购结果。
含义我现在有480行3列,只包含int(id => int(10),column2 => int(3),column3 => int(1))
Id当然是一个索引,所以它不应该花费很多数据库资源来检索一行,我每页只显示12行。
以这种方式做事听起来会更好吗?
我现在每页提出12个更短的请求,但是每个成员我保存了30kb的数据。