>  기사  >  백엔드 개발  >  [Lavavel] RedisQueue는 대기열 작업을 어떻게 수행합니까?

[Lavavel] RedisQueue는 대기열 작업을 어떻게 수행합니까?

little bottle
little bottle앞으로
2019-04-20 09:48:162627검색

Redis를 사용하면 작업 대기열을 쉽게 구현할 수 있습니다. 이 글에서는 대기열의 실행 원리를 간략하게 소개합니다.

큐의 기본 기능:

  1. 즉시 실행; yes
  2. 지연 실행; yes
  3. 한 번 이상 실행 보장됨; yes
  4. no

사용된 데이터 구조:

List, Sorted set

지연 실행 메커니즘:
1. 먼저 데이터를 SortedSets 유형의 queues:queue_000:delayed에 넣습니다
2. pop 실행 시 lua를 실행합니다. 스크립트, SortedSets 유형의 queues:queue_000:delayed에 있는 실행 가능 데이터를 목록 유형의 queues:queue_000으로 rpush합니다.

성공적인 실행을 보장하는 메커니즘:
 1. 실행할 데이터를 대기열에 넣습니다. SortedSets 유형이 먼저 :queue_000:reserved
2. pop을 실행할 때 lua 스크립트를 실행하여 SortedSets 유형의 queues:queue_000:reserved에 있는 실행 가능 데이터를 목록 유형의 queues:queue_000으로 rpush합니다
3. 작업이 성공적으로 실행되었습니다. SortedSets queues:queue_000:reserved

유형의 사전 저장된 데이터 삭제 관련 튜토리얼: redis 비디오 튜토리얼

위 내용은 [Lavavel] RedisQueue는 대기열 작업을 어떻게 수행합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제