缓存许多 AJAX 数据库写入



我正在构建一个基于Web的照片和文本编辑器。我遇到的问题最好用一个例子来说明:

用户可以为其文本选择颜色。颜色是通过拖动滑块来选择的,因此每秒变化 100 次。必须在数据库中更新文本的颜色。我没有每秒执行 100 次写入,而是像这样构建它:在不滑动 3 秒后,数据库将更新。

用户还可以查看其"页面"的示例。该示例纯粹由 html 和 css 生成,它从数据库中读取。但是,如果用户尝试在更改文本颜色后的 3 秒内查看其示例,则会在示例中看到错误的颜色。

有人对处理这样的问题有好主意吗?我正在考虑以某种方式缓存,但我对此没有太多经验,也无法想象解决方案。

我正在使用Zend Framework和jQuery。

3秒在UI设计中是相当长的时间,所以也许你应该在这里重新考虑你的架构。

滑块是 JQuery UI 吗?如果是,您可以将数据库调用绑定到滑块的"slidechange"事件,以确保用户已停止滑动。

http://jqueryui.com/demos/slider/#events

也许您还应该考虑根据输入表单中的值而不是数据库中的值来构建示例页面。即使您进行了数据库调用,它也可能(理论上)在加载示例页面之前完成数据库中的值更新。

您可以更改它,以便更改内容会引发排队发送到服务器的"持久性"事件,这些事件在以下情况下发送到服务器:

  • 用户点击"保存"按钮
  • 用户去预览他的更改
  • X 秒后。

因此,如果用户快速进行 1、2 或 22 次更改,它们将被排队,然后一次发送(然后后端也可以足够聪明,可以忽略 4 个"改变颜色"事件中的 3 个并仅保留最新的一个)。

最新更新