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

认证高级PHP讲师

全部回覆(2)
巴扎黑

至少有兩種方法:

方法一

就是你提到的儲存在資料庫中,但是没听过也没见过谁真这么干过
不這麼做的原因至少有以下兩點:

  • 例如一張圖片1M左右,多了導致資料庫檔案體積急劇膨脹

  • 資料的體積大了,查詢的時候載入出來也會很慢很慢

方法二

檔案像普通檔案一樣放在磁碟上,資料庫中記錄檔案在檔案系統中的路徑磁盘上,数据库中记录文件在文件系统中的路径
读取文件的时候,先从数据库读取文件在磁盘上的位置,然后服务器(nginxtomcat讀取檔案的時候,先從資料庫讀取檔案在磁碟上的位置,然後伺服器(nginxtomcat等皆可)將檔案回送給客戶端。

再扯遠一點:

對於方法二來說,檔案往往是放在專門的靜態檔案伺服器上,做动静分离,感兴趣的话可以搜搜关键字:nginx反向代理

例如可以用nginxapache來專門處理靜態檔案(圖片,影片等)。 nginxapache来专门处理静态文件(图片,视频等)。
对于那些实在没办法静态化的请求就由tomcat對於那些實在沒辦法靜態化的請求就由tomcat等動態處理並回送客戶端。

大家讲道理
  • 存自己的伺服器上面 自己做文件分散式儲存,高可用什麼的

  • 呼叫第三方接口,例如又拍雲或阿里雲OSS,不用自己運維

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!