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

认证高级PHP讲师

全員に返信(2)
巴扎黑

少なくとも 2 つの方法があります:

方法1

それがデータベースに保存することについておっしゃったことですが、私はそれについて聞いたこともありませんし、実際にそれを行う人を見たこともありません
これを行わない理由は少なくとも次の 2 点です: 没听过也没见过谁真这么干过
不这么做的原因至少有如下两点:

  • 比如一张图片1M左右,多了导致数据库文件体积急剧膨胀

  • 数据的体积大了,查询的时候加载出来也会很慢很慢

方法二

文件像普通文件一样放在磁盘上,数据库中记录文件在文件系统中的路径
读取文件的时候,先从数据库读取文件在磁盘上的位置,然后服务器(nginxtomcat等皆可)将文件回送给客户端。

再扯远点:

对于方法二来说,文件往往是放在专门的静态文件服务器上,做动静分离,感兴趣的话可以搜搜关键字:nginx反向代理

比如可以用nginxapache来专门处理静态文件(图片,视频等)。
对于那些实在没办法静态化的请求就由tomcat

  • 例えば、画像は約1Mです。あまりにも多くなると、データベースファイルのサイズは急激に増大します🎜
  • 🎜データ量が大きいため、クエリ時の読み込みが非常に遅くなります🎜
🎜方法 2🎜 🎜 ファイルは通常のファイルと同様に ディスク に配置され、ファイル システム内のファイルの path がデータベースに記録されます。
ファイルを読み取るときは、まずディスク上のファイルの場所をデータベースから読み取り、次にサーバー (nginxtomcat など) がファイルを送信します。クライアント側に戻ります。 🎜 🎜もう少し先: 🎜 🎜 方法 2 では、ファイルは 動的と静的分離 を実行するために専用の静的ファイル サーバーに配置されることがよくあります。興味がある場合は、キーワード nginx reverse proxy を検索してください。 > 。 🎜 🎜たとえば、nginx または apache を使用して、静的ファイル (写真、ビデオなど) を特別に処理できます。
静的にできないリクエストは、tomcat によって動的に処理され、クライアントに送り返されます。 🎜
いいねを押す +0
大家讲道理
  • 独自のサーバーに保存し、ファイルの分散ストレージ、高可用性などを独自に実行します

  • Paiyun や Alibaba Cloud OSS などのサードパーティ インターフェイスを、自分で操作したり保守したりすることなく呼び出します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート