Redis并发竞争

Redis是一种单线程机制的nosql数据库,基于key-value,数据可持久化落盘。由于单线程所以Redis本身并没有锁的概念,多个客户端连接并不存在竞争关系,但是利用jedis等客户端对Redis进行并发访问时会出现问题。

比如:同时有多个子系统去set一个key。这个时候要注意什么呢?

举一个例子:多客户端同时并发写一个key,一个key的值是1,本来按顺序修改为2,3,4,最后是4;但是顺序变成了4,3,2,最后变成了2。

并发竞争可用的解决方案如:

  1. 分布式锁+时间戳
  2. 利用消息队列
posted @ 2019-02-21 23:30 robin·张 阅读(...) 评论(...) 编辑 收藏