一、使用一个阻塞队列,依次对数据进行写操做(注意,消费的时候用单线程);
二、对一个key使用计数器incr命令,依次处理;
三、对数据依次按顺序存入数据库,并按时间戳顺序执行;
四、基于 zookeeper 实现分布式锁。每一个系统经过 zookeeper 获取分布式锁,确保同一时间,只能有一个系统实例在操做某个 key,别人都不容许读和写。
五、使用乐观锁的思想;数据库
watch price get price $price $price = $price + 10 multi set price $price exec
watch这里表示监控该key值,后面的事务是有条件的执行,若是从watch的exec语句执行时,watch的key对应的value值被修改了,则事务不会执行。
六、使用相似MVCC版本控制(也是乐观锁)的思想;分布式
使用数据版本(Version)记录机制实现,这是乐观锁最经常使用的一种实现方式。何谓数据版本?即为数据增长一个版本标识,通常是经过为数据库表增长一个数字类型的 “version” 字段来实现。当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值加一。当咱们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比对,若是数据库表当前版本号与第一次取出来的version值相等,则予以更新,不然认为是过时数据。spa