java - 在后端存储,比如多媒体文件(音频,视频,图像)是如何存储的?
PHP中文网
PHP中文网 2017-04-18 10:36:51
0
2
833
PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(2)
巴扎黑

적어도 두 가지 방법이 있습니다:

방법 1

은 말씀하신 대로 데이터베이스에 저장되지만 没听过也没见过谁真这么干过입니다.
이렇게 하지 않는 데에는 최소한 두 가지 이유가 있습니다.

  • 예를 들어 사진 한 장이 1M 정도일 경우, 너무 많으면 데이터베이스 파일의 크기가 급격히 늘어납니다

  • 데이터 용량이 커서 쿼리 시 로딩 속도가 매우 느립니다

방법 2

파일은 일반 파일과 마찬가지로 磁盘에 배치되며, 데이터베이스는 해당 파일의 路径을 파일 시스템에 기록합니다.
파일을 읽을 때 먼저 데이터베이스에서 디스크의 파일 위치를 읽은 다음 서버(nginx 또는 tomcat 등)가 파일을 클라이언트로 다시 보냅니다.

추가 대화:

방법 2의 경우 파일이 전용 정적 파일 서버에 배치되는 경우가 많습니다. 动静分离을 수행하려면 nginx反向代理이라는 키워드를 검색하세요.

예를 들어 nginx 또는 apache을 사용하여 정적 파일(사진, 동영상 등)을 구체적으로 처리할 수 있습니다.
실제로 수행할 수 없는 요청의 경우 静态化 tomcat에 의해 동적으로 처리되어 클라이언트로 다시 전송됩니다.

大家讲道理
  • 자체 서버에 저장하고 파일 분산 저장, 고가용성 등을 직접 수행하세요

  • 직접 운영하고 유지 관리할 필요 없이 Zaipaiyun 또는 Alibaba Cloud OSS와 같은 타사 인터페이스를 호출하세요

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