问题如题,一定要最简单的处理方法,不要去数据库查询的方法?

解决方案 »

  1.   

    比如是编辑的时候吧:
    一个人读出数据的时候,把该数据delete,把数据缓存到内存里供单独的用户处理。用户处理完后写入数据库,当然要解决如果用户终止的操作。如果用户取消或者关闭浏览器的情况等等。好么你就选择到了数据的时候,通过数据库的行锁,把这条数据锁起来。这样可能更好一些。
      

  2.   

    LZ是要在什么层面上来锁?
    select ... for update 这样可以锁检索出来的记录,直到update结束才释放索,这是数据库端的锁,当然,也可以用某个公共表作为锁
    如果在应用程序端锁,可以采用synchronized的方式 
      

  3.   

    select *, version from table t提交的时候update table set ... where id=:id and version=:version
      

  4.   

    这个可以在数据库层面,加乐观锁或者悲观锁。
    直接在底层就给lock住了。