2016-07-10 2 views
0

私はラズベリーパイプロジェクトで作業し、そのような理由でPython + Kivyを使用します:LISTまたはデータベースから読み取る方が良いですか?

フィールドにインストールされたデバイスから300msごとにいくつかの文字列値を読みました。

私が特定の値を見るとすぐに、私は文字列を受け取り、それをリストに格納してタイムスタンプする別の関数を実行するためにPythonスレッドをトリガーします。

私のkivyアプリはリストに格納された値を表示し、他の機能を実行します。

質問:受信した文字列をDBに保存してkivyにDBを読み込ませる方が良いか、リストを追加してkivyタスクをトリガする別の関数を実行する方がPythonで良いのですか?

+0

リストをサブクラス化してリスナーを追加すると、ビジーウェイトを行う必要はありません。 – Natecat

+0

@Natecatこのアプリケーションを数日間実行すると、リストは膨大になります。それはすべてのラムを使い果たしてしまうだろうか? – EL3PHANTEN

+0

リストの長さが50より大きい場合、リストを追加してポップ(0)します。履歴データが失われています...ウェブへのDBレスポンスが速くなります。 <0.2秒ですか? – BlueDog

答えて

0

どちらの方法も長所と短所があります。

データベースは、データを格納およびクエリするように設計されています。複数のプロセスから簡単にデータを照会することができます。あなたが複数のプロセスを持っておらず、複雑なクエリーを持っていないなら、データベースはそれほど多くを提供しません。それがあなたにとって懸念事項である場合、持続性があるかもしれません。データベースが提供する機能が必要ない場合は、使用しないでください。

単純にビットデータを保存したい場合は、リストが適しています。プロセス間通信を必要としないため、おそらく高速です。また、データベースにデータを格納する場合は、何らかの形でそれをPythonのプロセスに取り込む必要があります。そしておそらくそれをリストに入れます。

あなたの要求に基づいて、データベースには必要な機能が用意されていないので、簡単なリストを用意してください。

関連する問題