Redis 并发竞争key问题如何解决

  • 本质:高并发写同一个key,value出现问题
  • 解决
    • 乐观锁(不适合分片集群)

      watch key
      multi incr key exec
      key自从调用watch后发生过变化,则整个事务会回滚,不执行任何动作

    • 分布式锁(分布式场景)
    • 时间戳(适合有序场景)

      系统A key 1 {ValueA 7:00},系统B key 1 { ValueB 7:05}。假设系统B先抢到锁,将key1设置为{ValueB 7:05},接下来系统A抢到锁,发现自己的key1的时间戳早于缓存中的时间戳(7:00<7:05),那就不做set操作了
      消息队列(操作串行化)

Redis 并发竞争key问题如何解决

上一篇:Mysql索引


下一篇:golang判断map中key是否存在的方法