web-dev-qa-db-ja.com

Railsアプリに(本当に)グローバル変数を実装する方法

Rails APIアプリにグローバルカウンターを実装するにはどうすればよいですか?(いくつかのシステムの中心的なコンポーネントです)。

基本的に、最大値を超えて増分およびロールオーバーする必要があるトランザクションIDがあります。したがって、いくつかのカスタムロジックがアタッチされており、単に無限に自動インクリメントするだけではなく、管理する必要があります。

私は、Redisを使用して高速でメモリ内のトランザクションを維持することを検討しています。監査は、後でPostgresに引き継がれます。

これは健全で信頼できるアプローチですか? Railsアプリ内の複数のプロセスにステートフル性が必要な場合、ほとんどの人は何をしますか?ほとんどのアプリサーバー、グローバル変数、クラス変数、ミューテックスなどの構成を考慮してください。

(私は多くの調査を行い、この質問を昨日とは違った方法で質問しましたが、適切に特徴付けたとは思わないでしょう。)

4
SexxLuthor

あなたはすでに正しい答えを得ましたyourself。データベースに保存し、必要に応じて使用します。

データベースのアプローチに関しては、あなた自身も最良の答えを得ました。パフォーマンスのためにRedisを使用し、監査のためにリレーショナルデータベースデータに格納することです。あなたは計画を立てて、あなたの研究をしたようです。

5
pietromenna