瞬间流量很高的网站,要频繁的插入数据到数据库,怎么才能解决速度慢的问题?要用到什么技术?
大家讲道理2017-04-17 15:17:45
1. 瞬間的な挿入パフォーマンスを向上させるためのデータベースの分散デプロイメント
2. ビジネスが許可する場合は、非同期挿入にメッセージ キューを使用します
3. キャッシュに Redis などを使用し、データベースに非同期的に挿入します
3 . 挿入操作が頻繁に行われ、関連するクエリが必要ないデータの場合は、mongo
怪我咯2017-04-17 15:17:45
リアルタイム要件がそれほど高くない場合は、中間層として Redis を使用してデータを受信し、バックグラウンドで定期的に Redis からデータを取得するか、メッセージ サブスクリプション メカニズムを使用してデータベースに書き込むことができます。バッチ。
大家讲道理2017-04-17 15:17:45
ストレージ構造の最適化を検討する 2. 可能であれば、複数のマシン、複数のデータベース、および複数のプロセスを検討します。 3. 接続プールとミドルウェア(メッセージキュー)、中間データベース(redis)を搭載 4. マルチスレッド...
黄舟2017-04-17 15:17:45
タオバオの 1 秒あたり 140,000 件の注文などを参考に検索できます。これに対する確実で即効性のある解決策はありません。
簡単に言うと、redis などのサーバー側キャッシュを使用してリクエストを処理します。
大家讲道理2017-04-17 15:17:45
1 ログを見て、リクエストが多すぎるリクエスト アドレスを見つけて、まずその理由を調べて、それが回避できるかどうか、またそれが必要な操作であるかどうかを確認します。
2 ビジネス ニーズに応じて mysql トリガーを作成し、この作業は mysql に任せます
3 swoole を使用してデータベースに非同期的に挿入します
4 マルチスレッド キューを使用できます
5 データをデータベースに直接書き込まず、最初に Redis に書き込んでも構いません