小さなスクリプトを記述して、データベースとしてMySQLを使用する準備をします。Redisは十分に学習していないため、使用したくありません。
ロジックはこれです。ここでデータの一部を探し、このデータが存在する場合は属性を割り当て、存在しない場合はタスクを実行してデータベースに書き込みます。
次に、検索データを再度実行し、オブジェクト属性を書き込みます。
#ユーザーのuidを初期化します 。uid はユーザーの収入データベーステーブルからdef _initialize_uid(self)を読み取ることができます 。 uid_info = self.db.selectDb(SEARCH_USER_UID、(self.account、)) #読み取れない場合は、ユーザーの損益計算書と新しいデータを実行します。 if uid_info: self.uid = uid_info [0] [0] else: 印刷(123)
#データベース情報を書き込み、 if get_money_income(self.account)[0]: time.sleep(2)
#メソッドを再実行して読み取るデータの取得 self._initialize_uid()
データベースが一貫したリンクを維持している場合、この再帰モデルを使用すると、書き込まれたデータのデータベース情報を読み取ることができないことがわかりました。今のところ良い方法はありません。
唯一の解決策は、検索するたびに新しい接続オブジェクトを作成することですが、この場合、データベースへの圧力が高まります。
将来的には、プロデューサーとコンシューマーの関係と同様に、データベース操作にも多くのスレッドを使用します。1回の書き込みで、1回の読み取りでデータベースと新しいデータベースを読み取ることができます。単一のスレッドがそれ自体を書き込み、書き込みデータの読み取りを完了することはできませんか? ?
この場合、使用するのは非常に面倒です。解決策があるかどうかを確認するためのフォローアップ