thinkphp5에서 redis를 사용하여 15분 안에 주문을 취소하는 방법은 무엇입니까?
过去多啦不再A梦
过去多啦不再A梦 2017-06-06 09:52:43
0
5
1710

1. 15분 이상 주문이 들어왔는지 확인하고 싶은데 15분을 초과하면 데이터베이스를 타임아웃 취소로 수정해야 하는데 어떻게 시작해야 할지 모르겠네요.

过去多啦不再A梦
过去多啦不再A梦

모든 응답(5)
漂亮男人

이 기능은 사용자 동작을 트리거하도록 만들 수 있습니다. 예를 들어 사용자가 주문을 확인하고 결제가 이루어지지 않았으며 15분을 초과했다고 판단되면 주문 상태가 시간 초과 취소로 변경됩니다. 조회되지 않은 주문 및 상태가 업데이트되지 않은 주문은 예약된 작업에 의해 이른 아침에 업데이트될 수 있습니다. 주문량이 많은 경우 모든 주문의 상태를 실시간으로 동기화하는 것은 권장되지 않으며 의미가 없습니다.

刘奇

데이터베이스 폴링: 예약된 작업을 사용하여 데이터베이스를 폴링하여 관련 주문 처리를 쿼리합니다. 이 방법은 소규모 프로젝트에서 간단하고 실용적이며 유지 관리가 쉽습니다.

Ring Queue: 참조: http://mp.weixin.qq.com/s/mvF...

큐 서비스: 지연된 큐 처리 사용 참조: http://tech.youzan.com/queuin...

小葫芦

더 나은 해결책은 위에서 언급한 링 큐인 시간 휠을 사용하는 것입니다.
Redis 키 공간 알림을 사용하여 만료 시간을 15분으로 설정하고 키 삭제 이벤트를 수신하고 해당 작업을 수행할 수도 있습니다.

phpcn_u1582

타이머를 사용하면 좋지 않나요?

滿天的星座

redis가 필요하지 않습니다

MySQL로 할 수 있습니다

계획:
PHP 스크립트 작성, 데몬 프로세스 실행,
while 루프, 라이브러리 확인, 주문이 15분 이상 소요되고 주문이 미결제 및 배송되지 않은 경우 취소 작업이 수행됩니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿