我有一个执行以下操作的页面:使用会话,以降低CPU负荷
- 执行一个数据库查询(更准确地说,从用户U,user_tag UT其中u选择u.user_uid,ut.user_metatada .uid = ut.uid,一个用户可以具有一个或多个metadatas)
- 生成基于所述查询
- 的结果数据的阵列上执行这些阵列(更多关于此操作在这篇文章中读取一些复杂的操作。 )。以数组形式返回最终结果。该数组是包含user_uids的一维数组。
- 执行另一个查询并获取user_uid的所有元素的user_fullname,user_photo
- 在页面中打印查询结果。
当用户重新加载页面时,这5个操作将从头开始执行。为了避免每次用户重新加载页面时执行所有这5个操作,我们可以在会话中保存最终结果(操作编号5)。所以我们可以说以下内容:
If session is not set
Perform those 5 operations
else
Print session values
这会降低CPU负载,但它会采取一些(我不知道有多少)内存而不是将信息保存在一个会议。但有人认为加载CPU而不是内存会更好。 问题:你推荐我做什么?是否使用会话(在我的情况下)?还有其他更好的解决方案吗?