web开发在后台查询一条数据,如果有就进行更改,没有就进行添加,如果多个用户在同一时间进行同样的操作就可能会
添加多条数据,怎么避免
开启事务同意操作应该可以解决
开启相应的事务,作出对应操作应该可以解决
如果是web项目的话,就涉及到了并发问题了,服务器处理请求是开启多线程进行处理的,例如java web的Servlet都是单利的,所以需要对
方法进行加锁处理,保证一组相互关联的操作的原子特性。你用什么技术和工具进行web开发的呢?
为降低耦合,建议使用数据库事务管理。可以自己去学习下。
这个是数据库层面控制的问题,一般的数据库都是考虑了这方面的问题,数据库设计的时候都有了相应的机制,所以你不需要考虑
select for update wait 先锁定再修改。
可以用主键或者唯一键试试,把你的判断条件设置成唯一键
如果是单节点, 可以考虑采用LocalCache的方式进行判断.
即: 判断数据是否存的过程是, 先从localCache中查看是否存在, 若无再查询数据库, 如果两个都没有. 则表明为新数据.
这里需要注意localCache的add与remove的时机.
如果是集群环境下, 可以考虑使用分布式锁的方式.
如: 基于map/reduce方式 或 zookeeper的方式,
分布式锁的实现方式比较多. 可以根据实际场景进行选择.
你用的什么数据库呢, 用事物可以避免你的顾虑