次のコラム Redis チュートリアル では、Redis のバッチ作成について紹介します。困っている友人の役に立てば幸いです。
最近 Redis のパフォーマンスをテストし、1,000 万を超えるデータをバッチで挿入する必要がありました。
調査を実施したところ、おそらく次のメソッド:
1: Java プログラム呼び出し、単純な for ループ、Jedis メソッドによる直接挿入、
速度に関しては、調べる必要はありません。試さないでください。 、まったく機能しない場合は実装されません。
2: シェルスクリプト経由なので比較的簡単ですが、ポート経由でredisに接続する必要があるため、
速度も非常に遅いので諦めてください。
3: Redis 経由でパイプラインを提供します。この方法が最も信頼できると思います。実装は次のとおりです:
ステップ 1: まず単純にシェル スクリプトを作成します:
for((i=1;if7b6e8d1286c85335874aee64187dbfb> /tmp/_t.txt done
バッチ挿入用のスクリプト ファイルを生成することが目的です。
ステップ 2: Linux または Windows で生成されたファイルを redis ステートメントとして直接実行することはできません。
簡単に言うと、 Linux では、windows と dos の改行が異なります。
したがって、単純な変換を行う必要があります:
多くの変換方法があります:
1 : 一般的な Linux ディストリビューションには、DOS を UNIX ファイルに変換することしかできないこの小さなツールが付属しています。コマンドは次のとおりです:
# unix2dos dosfile.txt
上記のコマンドは、行末の ^M 記号を削除します。 (nuix2dos がマシンにインストールされていない場合は、方法 2 を使用してください)
2: vim を使用します。vim は vi の改良版です。使用方法:
#vim file.txt :set fileformat=dos ::wq
1 行コマンド保存して終了します。
ステップ 3: redis によって提供されるパイプ (パイプ フォーム) を通じてスクリプトを実行するだけです。
cat redisTest.txt | redis- cli -h reids.aliyuncs.com -p 6379 -a xxxx --pipe
Redis のバッチ挿入を完了するには 3 つのステップで十分です。 2,000 万レコードのスクリプトの生成速度は少し遅く、挿入速度はまだ数分です。
速度は非常に速いと言えます~
以上がRedis バッチ書き込みの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。