Heim  >  Fragen und Antworten  >  Hauptteil

多进程 - 多个进程去读取redis消息队列是否会发生冲突?

问题

我创建多个进程去同时读取redis做的消息队列 请问这个会发生读取冲突么? 原因是什么呢?

PHP中文网PHP中文网2733 Tage vor978

Antworte allen(3)Ich werde antworten

  • 黄舟

    黄舟2017-04-27 09:05:23

    不会冲突,队列中的每个元素只会被读取一次。

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-04-27 09:05:23

    只是读取没问题。。。

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-04-27 09:05:23

    redis自己保证队列读写的互斥。redis是单线程,工作方式大概是这样的。你的多进程读取其实是可以并行发多个读取请求包,这些请求包到达redis的socket buffer中,redis的处理是串行响应你的请求,无锁。如果哪天redis改成多线程的方式,同样可以通过加锁互斥保证队列的读取不会出事情。

    Antwort
    0
  • StornierenAntwort