gpt4 book ai didi

javascript - PHP 和 JS 中 cookie 数组的最佳性能选择?

转载 作者:行者123 更新时间:2023-11-30 00:08:05 25 4
gpt4 key购买 nike

您好,我有一个网站,其中包含数百个电视节目和数万集。我希望用户(未登录)能够保存他最喜欢的节目并标记他观看过的剧集并使用 cookie 保存这些数据。

所以我已经用 PHP 和 JS 实现了它。我只是想知道关于 cookie 数组的最佳选择是什么。

现在我将数据保存在名为“收藏夹”的 cookie 中,这是一个 JSON 编码数组,仅包含电视节目的 ID。在“已观看”cookie 中,有用户标记为已观看的剧集的 ID。

性能和内存的最佳选择是什么?您必须记住,这也适用于手机,因此,如果用户将数千集标记为已观看,我不希望这会减慢一切。

下面的代码不是真正的代码,只是为了让您了解选项之间的区别。

选项 1

一个名为“watched”的 cookie,它是一个包含 ID 的 JSON 编码数组。我需要检查数组是否包含该值

$_COOKIE['watched'] = array(1,2,3,4,...)

使用此选项,在电视节目页面中,我总是必须选择整个数组并检查每个剧集 ID 是否是数组中的一个值。

选项 2

每个 ID 一个 cookie,例如称为“watched_[ID]”。我只是检查它是否存在。

exists( $_COOKIE['watched_1'] ) ? watched : !watched
exists( $_COOKIE['watched_2'] ) ? watched : !watched

选项 3

一个名为“watched”的 cookie,它是一个关联的 JSON 编码数组,包含每个电视节目的数组,例如“watched[show_ID]”,其中每个仅包含标记为已观看的剧集的 ID到那个节目。 (因此在电视节目页面中,我首先检查“已观看[show_ID]”,然后我已经拥有所有已观看的剧集,而不是将每个剧集 ID 与选项 1 中的数组“已观看”进行比较

$_COOKIE['watched'] = array(
1 => array(1,2,3),
2 => array(4,5,6)
)

最佳答案

您选择的方法将完全取决于您拥有的用户类型,如果您的情况下数据量通常很大,那么您应该选择选项 3,因为关联数组是处理大数据量的好方法,因为它循环遍历它们并获得结果会有些容易。

如果您的用户数据集相当小,那么选项 2 是最佳方法,因为我们为每个节目设置了不同的 cookie,您可以立即检查相应的值。

此外,我希望您通过 html5 api 使用索引数据库作为您的问题的解决方案,因为它提供客户端数据库,而且它是一个持久数据库。希望这有帮助

关于javascript - PHP 和 JS 中 cookie 数组的最佳性能选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37702753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com