Redis 的并发竞争 Key 问题

 Redis 的并发竞争 Key 问题

  也就是多个系统同时对一个 key 进行操作,我们期望的顺序是set 1--> set 2 --> set 3,但是最后执行的顺序set 1--> set 3 --> set 2,和我们期望的顺序不同,这样也就导致了结果的不同!

 

解决方案是:

          第一种: 分布式锁(保证不会读脏数据,因为传统的加锁的做法(如java的synchronized和Lock)适合单点。如果是分布式环境,需要的是分布式锁。) + 时间戳(保证顺序,适用于需要保证顺序的场景)

         第二种: 用消息队列,串行化,

转载:   Redis并发竞争key的解决方案详解 - 知乎 (zhihu.com)

posted @ 2019-12-26 17:05  刘大飞  阅读(593)  评论(0编辑  收藏  举报