java - 如何处理多个 servlet 请求以更新数据库值

标签 java database servlets synchronization

我将从客户端获得多个 Servlet 请求以更新数据库中的某些条目。目前我在 Postgre 中使用 hibernate 。我所做的是读取数据库中的当前值,然后将该值加一并在每次请求时保存。但是如果两个人同时读取数据库并添加它,它就不会像我想要的那样计数。我得到了一些使其“同步”的建议。但是,如果请求数量变大,某些用户可能会出现相当大的延迟。

有没有更快的方法将一个值更新+1,而不用读写它?如果最佳实践是使用同步,那么如何让它更快(等待时间更少)?

最佳答案

你可以尝试使用 LOCK,检查这个:http://www.postgresql.org/docs/8.1/static/sql-lock.html

要在一个查询中完成所有操作(更快),请检查:Increment a value in Postgres

关于java - 如何处理多个 servlet 请求以更新数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13916813/

相关文章:

java - request.setAttribute() 和 model.addAttribute 之间有什么区别?

java - org.apache.http.util.ByteArrayBuffer 替代方案

c# - 在 Jet 引擎 (Access) 数据库中存储一个 64 位整数?

java - Spring:如何从一个对象中提取数据并将其插入到另一个对象中

mysql - 群体-人员数据库设计 - 需要建议

mysql - 如何将mysql从5.1更新到5.5

java - 通过将 servlet 传递给 jsp 自动填充值,而不使用 javascript

java - HttpServletRequest.getServerName() 在并发使用中偶尔返回 null?

java.lang.NoClassDefFoundError : (wrong name )

java - 为什么我不能在 Maven 中构建 jar