首頁 > 後端開發 > php教程 > 【Lavavel】RedisQueue如何執行佇列任務?

【Lavavel】RedisQueue如何執行佇列任務?

little bottle
發布: 2023-04-06 07:04:01
轉載
2654 人瀏覽過

利用Redis可以很方便的實作一個任務佇列,本篇文章是對佇列的執行原理的簡單介紹。

佇列的基本功能:

  1、立即執行;yes
  2、延遲執行;yes
3.保證至少執行一次;yes
  4、必須執行且最多執行一次;no

用到的資料結構:

  list、Sorted sets 

延遲執行的機制:
  1、先把資料放入SortedSets類型的queues:queue_000:delayed中
  2、在執行pop的時候,執行lua腳本,把SortedSets類型的queues:queue_000:delayed 中可以執行的資料rpush到list類型的queues:queue_000中

保證執行成功的機制:
  1、把要執行的資料先放入SortedSets類型的queues:queue_000:reserved中
  2、在執行pop的時候,執行lua腳本,把SortedSets類型的queues:queue_000:reserved 中可以執行的資料rpush到list類型的queues:queue_000:reserved 中可以執行的資料rpush到list類型的queues:queue_000中
      3、任務執行成功,從SortedSets類型的queues:queue_000:reserved執行刪除預存的資料

相關教學:redis影片教學

以上是【Lavavel】RedisQueue如何執行佇列任務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板