> 주제 > PHP MySQL > MySQL과 결합된 PHP는 수천만 건의 데이터 처리를 완료합니다.

MySQL과 결합된 PHP는 수천만 건의 데이터 처리를 완료합니다.

coldplay.xixi
풀어 주다: 2020-12-22 17:55:20
앞으로
4028명이 탐색했습니다.

PHP MySQL열에서는 수천만 개의 데이터 처리를 구현하는 방법을 설명합니다

MySQL과 결합된 PHP는 수천만 건의 데이터 처리를 완료합니다.

권장(무료): PHP MySQL

mysql 테이블 아이디어


1 1억 개의 주문 테이블을 5개의 테이블로 분할할 수 있으므로 각 테이블에는 2천만 개의 데이터만 있으므로 원본 테이블의 압력을 공유해야 합니다. 여기서 테이블은 특정 조건에 따라 분할되어야 합니다. 지역별로 나누어져 있으므로 원하는 데이터를 찾기 위해 어느 테이블로 이동할지 제어하는 ​​미들웨어가 필요합니다.
미들웨어: 메인 테이블의 자동 증가 ID를 미들웨어로 사용합니다. (미들웨어에 적합한 필드는 무엇입니까? 고유해야 합니다.)
배포 방법은 무엇입니까? 기본 테이블에 삽입한 후 ID가 반환되고 이 ID와 테이블 수를 기반으로 모듈로가 취해지며 나머지 테이블에 데이터가 삽입됩니다.
참고: 하위 테이블의 ID는 메인 테이블의 ID와 일치해야 합니다.
앞으로는 삽입 작업만 메인 테이블을 사용하게 되며, 수정, 삭제, 읽기에는 메인 테이블을 사용할 필요가 없습니다

PHP 结合 MySQL 千万级数据处理

redis 메시지 큐

1. 메시지 큐란 무엇인가요?
메시지 전파 과정에서 메시지를 저장하는 컨테이너
2, 메시지 큐 생성의 역사적 이유

PHP 结合 MySQL 千万级数据处理

메시지 큐의 특징: 선입선출
먼저 실행할 SQL 문을 메시지 큐에 저장 삽입된 데이터베이스
Application: Sina에서 인스턴트 코멘트를 먼저 메시지 큐에 넣은 다음 예약된 작업을 통해 메시지 큐에 있는 sql 문을 순차적으로 데이터베이스에 삽입합니다

수정

하위 테이블을 조작하여 수정

PHP 结合 MySQL 千万级数据处理

이 수정을 하면 메인 테이블과 서브 테이블의 데이터가 일치하지 않게 되는 문제가 발생합니다. -테이블 일관성?

redis 큐는 메인 테이블과 서브 테이블의 데이터를 일관되게 유지합니다

수정이 완료된 후 메인 테이블의 데이터가 수정되어 Redis 큐에 저장됩니다

PHP 结合 MySQL 千万级数据处理

그런 다음 Linux 예약된 작업(contble)은 redis 대기열 sql 문에 있는 데이터를 실행하기 위해 루프를 실행하고, 기본 테이블의 내용을 동기적으로 업데이트합니다

PHP 结合 MySQL 千万级数据处理

mysql 분산 하위 테이블(확인, 삭제)

쿼리에만 필요합니다. 하위 테이블을 쿼리하려면 메인 테이블을 쿼리하지 마세요

PHP 结合 MySQL 千万级数据处理

삭제 먼저 ID를 기준으로 삭제할 하위 테이블을 찾아 삭제한 후 SQL 문을 푸시하면 전체 테이블 데이터가 삭제됩니다. 메시지 큐
그런 다음 예약된 작업을 실행하여 전체 테이블 데이터를 삭제합니다

PHP 结合 MySQL 千万级数据处理

예약된 작업:

PHP 结合 MySQL 千万级数据处理

mysql 분산 브랜치 라이브러리

브랜치 라이브러리 아이디어

PHP 结合 MySQL 千万级数据处理

분관 도서관 설계도 :

PHP 结合 MySQL 千万级数据处理

ㅋㅋㅋ 여전히 어떤 데이터베이스에 연결하려면 어떤 구성 파일을 로드해야 합니까?

PHP 结合 MySQL 千万级数据处理

Delete Execution queue

PHP 结合 MySQL 千万级数据处理

MySQL 분산 캐시(memcache) 애플리케이션

과 유사합니다.

데이터베이스 오버헤드를 절약하기 위해 캐시에 데이터를 먼저 넣고, 직접 꺼낸 경우에는 데이터베이스로 이동하여 확인한 후, 정보를 편집한 후 캐시에 저장합니다. 캐시를 삭제해야 합니다. 그렇지 않으면 수정된 데이터 대신 항상 캐시된 데이터를 읽게 됩니다.

위 내용은 MySQL과 결합된 PHP는 수천만 건의 데이터 처리를 완료합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿