2011-02-06 3 views
0

私はPHPプロジェクトに取り組んでおり、リクエストごとに同じメモリロケーションを使用するシステム(サーバ上で実行)を実装するように頼んでいます。サーバーはどのように要求ごとに同じメモリを使用しますか?

メモリ(RAM)に配列があり、すべてのクライアントがその要素の1つを要求していると考えてください。サーバーはその配列を繰り返し作成しません。これを実現するには、サーバーが共有メモリを使用し、関連する要素をクライアントに返す必要があります。問題は、どうすればいいのですか?または、それを説明する情報源がありますか?

制約:

  1. 私は、アプレットの技術を使用したくありません。できるだけ多くの場合、私はPHPを介して実装したいと思います。
  2. 私たちのシステムでは処理が遅すぎるため、データを永続化する必要はないため、データベースを使用したくありません。
  3. データは実際には小さく(10MBを超えない)、メモリに適合します。
+1

これを行う理由を説明できれば助けになります。要求間に任意の「グローバル」データを共有することは目的ですか?あるいは、何らかのキャッシュ機構として機能するのでしょうか?または、他の何か? –

+1

ここではキー値ストア(memcachedやredisなど)のようなサウンドが役に立ちます。 –

+0

http://stackoverflow.com/questions/1740179/php-equivalent-of-asp-net-application-cache-objectsを参照してください。これは、データベースやPHP自体の外部にある他の機構に書き込まなければ、なぜこれが不可能なのかについては、 –

答えて

0

MySQLを実行し、MEMORYストレージエンジンを使用してください。テーブルはメモリ内にのみ存在し、ディスクに永続化されず、操作が本質的にメモリアクセスの速度であるため、「遅すぎる」ことはありません。

何をしても、ホイールを再構築しないでください。多くのメモリ内データストアがPHPドライバ/インタフェースとともに存在します。

+0

データは安定していないので、継続的に変更されるので、グローバルデータが良好であるため、データを保持しているとは思えません。 – xgme

+0

ReinerとDanのコメントは私の問題の解決策であるようです。私は今チェックしている。どうもありがとう。 – xgme

+0

両方のコメントが動作します。どうもありがとう! – xgme

関連する問題