有一个统计的程序,往数据库插入统计记录。如果有用户A和B,A操作对全国的数据进行统计,会启动5个线程,往数据库插数据,大约会执行10-20分钟。执行期间,如果B用户也操作统计,则也会往数据库插入数据,与A用户插入的数据重复了。集群我不太了解,不知道有什么方法可以实现锁机制么?老大给我的方法是用多播协议在集群的机器之间传递锁消息,不知道各位有没更好点的方法?

解决方案 »

  1.   

    这个问题 很有意义....个人认为 
    这种锁不应该在数据库来完成 而应在在程序中完成 A调用 AB方法插入数据,调用之前先获取一个锁
     B调用 AB方法 获取不到锁 就提示 操作已经进行如果处理集群锁
    使用 memcache 分布式缓存,而且可以轻松做到这一点,在memcache 保存一个锁的键值对...
      

  2.   


    恩,是在程序中完成,我去看看memcache,谢谢。