我想弄明白oldnavy.ca上的单页结帐系统。持久数据只能使用会话变量来实现吗?
如果你可以花时间把一些东西扔到购物车中,并弄乱周围,看看它是什么样子,我将不胜感激。
让我感到困惑的是刷新页面会保存进程的当前状态。所以,如果你创建你的登录名并添加你的送货地址,它将在那里,如果你点击刷新。
阅读很多文章听起来像使用会话变量来存储大量数据不被认为是很好的编程。现在,是存储表单数据,如航运信息等......认为“很多”的数据?
我只是好奇地想知道他们是如何实现这个购物车系统的,因为它在各地都有使用,而且我不想在会话变量使用的情况下不愿意使用它。
也许有替代品在使用?
谢谢
他们不一定在SESSION中存储所有内容 - 他们可能会在其中存储唯一的ID,并将所有内容添加到数据库中。但是,确定它们是如何处理它的方法并不是真正的方法 - 从最终用户的角度来看它是一样的。 – andrewsi
将它直接存储到数据库会更有效率吗?他们将不得不在会话过期时手动从数据库中删除数据。 – Adam
如果他们这样做,他们会定期运行一些内容并清理尚未更新的会话 - 磁盘空间很便宜,并且在半夜运行批处理作业不会是大多数用户注意到。 – andrewsi