目前我们有一个 PHP 基础,在其中,用户可以登录到他们的帐户。我们的网站非常大,我们的开发人员想要一种方法来存储任意数量的数据以使每个用户受益(因此这可能是他们在页面上输入的内容,我们可以根据他们在何时执行的事实加载具有不同值的页面他们回去)。
问题是我不确定存储这些持久数据的最佳方式。我最初的想法是将它存储在 MySQL 数据库中的序列化 PHP 数组中。这工作得很好,除了我们遇到并发问题,用户打开一个页面,该页面拉动数组,决定它需要修改,并这样做,与此同时,他们在另一个选项卡中打开了一个页面提取数组的相同原始副本,决定它需要不同的修改,并将其写入数据库,因此只有一页“获胜”并且丢失了更改。用户很可能(并且目前确实发生)在不同的选项卡中打开我们网站的多个页面,因此我们确实需要考虑这一点。
第二个解决方案只是第一个的扩展,我们可以在 MySQL 中存储更新时间的时间戳,如果开发人员拉取后整个数组已经更新,他们需要重新拉取整个数组,检查他们的更改是否仍然相关并重新提交,以便它成为新的数组。这似乎有点乱,但这是我目前最好的解决方案,有人有其他想法吗?