0

Rubyは、実行中のさまざまなRubyプロセス間で変数(さらに重要なことに、クラスオブジェクトやその他のデータの抽象化)を共有するメカニズムを提供していますか?

たとえば、クラスがインスタンス化され、初期化され、特定の状態に注意深く調整されている場合、その状態を、他の方法では独立しているすべてのRubyおよびIrbの実行で、最初に使用したプロセスの存続期間を超えて、グローバルに利用できるようにします。それ。

この問題に効果的に対処するために現在検討しているシナリオの1つは、選択した永続オブジェクトと変数のキーパーとして1日だけ機能するマイクロRubyスクリプトを作成し、デーモンgemなどでデーモン化することです。朝1日にセットアップし、夜にすべての終わりに分解します。

1日を通して、別のRubyプログラム(実際のビジネスロジックを含むもの)の多くのインスタンスが出入りしますが、上記のデーモンプロセスで存続している選択したオブジェクトを使用および操作できます。

複雑なオブジェクトをディスクにシリアル化する方法を研究する必要がありますか?(とにかく一時的なものであり、再作成には多くの時間しかかからないため、実際にはディスクではなくRAMを優先します)

4

2 に答える 2

1

Rubyのmaglev実装は、永続的な分散Rubyオブジェクトを提供するため、ニーズに最適のようです。

MagLev VMは、GemStone / S JITを最大限に活用して、ネイティブコードのパフォーマンス、分散共有キャッシュ、完全なACIDトランザクション、およびエンタープライズクラスのNoSQLデータ管理機能を利用して、堅牢で耐久性のあるプログラミングプラットフォームを提供します。メモリに収まるよりもはるかに大量(テラバイト)のデータとコードを透過的に管理できます。保存および実行できるオブジェクト、クラス、ブロック、スレッド、または継続のタイプに制限はありません。

ただし、プロジェクトのサイズによっては、少しやり過ぎかもしれません。

于 2011-12-28T01:55:00.890 に答える
1

おそらくmemcacheGem)やredisGem )のようなものを探しています。

また、 redis-objectsに興味があるかもしれません。

于 2011-12-28T01:15:42.090 に答える