1

データベースにシリアル化したい約 2,900 万の個別の Unicode 要素があります。私の現在のソリューションは SQLite を使用しており、一度に 100,000 の長さのリストを段階的に送信します。

cursor.executemany("insert into array values (?)", [list of length 100,000])

これで十分効率的だと思ったのですが、寝てから起きて(たとえば6時間)、まだ終わっていないのを見て、違うと思いました。

MongoDB または memcached ソリューションはより効率的ですか?

(もっと効率的な方法を提案してください)

4

2 に答える 2

0

memcached を選択する場合は、以下の注意事項を参考にしてください。

Memcached has a default setting of maximum data size that can be set as 1Mb. 
Any data size greater then that would require you to start the memcached explicitly stating the maximum size.

データ構造の保存に redis を使用するのが本当に好きです。あなたの要件はそれほど明確ではありません。redis を使用することをお勧めします。複数の方法で保存し、興味深い方法で使用できるからです。

redis に保存できるさまざまなデータ構造のドキュメントをお読みください。

http://redis.io/documentation

于 2012-06-11T11:42:33.070 に答える
-1

スレッドを生成してみてくださいgevent(例: 10)。特定の時間に処理されるレコードの数を監視し、数を増やしてみてください。あなたも調べる必要がありますmultiprocessing

于 2012-06-11T06:33:25.593 に答える