찾다

 >  Q&A  >  본문

Redis를 사용하여 특정 데이터를 잠금 상태로 표시하는 메커니즘 설계

프로그램은 매번 run_status=0인 10개의 데이터를 읽기 위해 데이터베이스로 이동합니다.

작업이 실행되면 데이터베이스가 필드를 업데이트합니다

run_status=-1

는 이 작업이 잠겨 있음을 의미합니다.

물론, 작업 실행이 완료된 후에는 run_status=0으로 잠금 해제되었음을 나타냅니다.

이제 문제가 발생합니다. 게시 중에 서버가 갑자기 프로그램을 중단하는 등의 일부 예외로 인해 작업을 실행할 때 run_status=-1은 항상 잠금 상태에 있습니다. 하지만 실제로 시행되고 있지는 않습니다.

이제 이런 일이 발생하지 않도록 메커니즘을 설계해야 합니다. 현재 환경에서는 redis를 사용할 수 있습니다.

迷茫迷茫2737일 전1254

모든 응답(1)나는 대답할 것이다

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-26 10:51:39

    이 질문은 너무 간단하다고 생각합니다. 만료 시간이 60초인 키를 설정합니다. 매번 이 키가 존재하는지 확인하세요

    회신하다
    0
  • 취소회신하다