>  기사  >  백엔드 개발  >  PHP는 데이터베이스 변경 사항을 모니터링할 수 있나요?

PHP는 데이터베이스 변경 사항을 모니터링할 수 있나요?

(*-*)浩
(*-*)浩원래의
2019-10-18 13:50:573609검색

PHP는 데이터베이스 변경 사항을 모니터링할 수 있나요?

데이터베이스의 데이터 변경 사항을 모니터링하는 방법은 무엇입니까?

실시간 푸시 메시지 구현이 필요합니다. 프론트엔드는 websocket을 사용하고, 백엔드는 php와 node.js를 사용합니다. (추천 학습: PHP 비디오 튜토리얼)

현재 문제는 프런트 엔드가 서버 측에서 특정 데이터 테이블의 데이터 변경 사항을 모니터링한다는 것입니다. PHP 소켓과 nodejs 소켓.io는 모두 소켓 포트의 이벤트만 수신하지만 데이터베이스에서 변경 사항을 가져오는 방법은 무엇입니까?

이 데이터 테이블은 소켓 측에서 사용자에 의해 업데이트될 수도 있고, 소켓 측에 없을 수도 있습니다. 때로는 관리자에 의해 데이터가 변경될 수도 있습니다. 그렇다면 서버 측 소켓은 어떻게 데이터 변경 이벤트를 모니터링한 다음 이를 다시 프런트 엔드로 푸시합니까? !

데이터베이스는 mysql 또는 mongo일 수 있습니다.

Solution:

Application 레벨에서는 일반적으로 인터셉터 등을 사용하여 변경 모니터링을 구현하는데 이 방법을 직접 수정합니다. 데이터베이스 측에서는 해결할 수 없습니다.

데이터베이스 수준에는 일반적으로 세 가지 방법이 있습니다.

1 Oracle과 같은 상용 데이터베이스는 사전에 알릴 수 있는 이벤트 모니터링 메커니즘을 제공합니다. 데이터 변경 알림

🎜🎜#2. 모니터링해야 하는 테이블에 트리거를 설정한 다음 PHP 함수 및 기타 트리거 외부 메커니즘을 호출합니다. 🎜#3. 모니터링해야 하는 테이블에 대해 트리거를 설정하지만 로그 테이블에만 기록되고 로그 테이블은 여전히 ​​외부에서 폴링되어야 합니다.

4. 또는 데이터베이스 로그를 스캔하여 데이터베이스의 모든 변경 사항을 검색하세요.

위 내용은 PHP는 데이터베이스 변경 사항을 모니터링할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.