高并发操作redis是否需要加锁?

高并发操作redis是否需要加锁?

会不会出现覆盖写的情况?

阅读 9.6k
5 个回答

在Redis端对一个key的操作是原子性的。
但是不保证多并发操作同一个key的覆盖问题。
如果你是做高并发的秒杀类业务,需要使用lua脚本原子性的操作key。

也可以使用list来模拟队列实现扣库存。

看自己业务了,一般情况下是要加锁的,至于覆盖写你指的是什么一种情况?

高并发是不是可以用一个队列来做?

redis本身就是单线程,不需要加锁。 一般用于和mysql做交互时才把redis当做锁。

看你的业务场景。hincrby 和setnx 就够用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题