搜尋

首頁  >  問答  >  主體

java - 在后端存储,比如多媒体文件(音频,视频,图像)是如何存储的?

PHP中文网PHP中文网2807 天前842

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-04-18 10:38:51

    至少有兩種方法:

    方法一

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

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

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

    方法二

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

    再扯遠一點:

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

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

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:38:51

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

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

    回覆
    0
  • 取消回覆