2017-10-28 15 views
1

私はネイティブのアプリケーションを持っています。アプリケーションはサーバーからのデータを必要とし、サーバーはPHPを実行します(これはかなり基本的な共有ホスティングです)。データが要求されると、PHPは、アプリケーションからPOSTで入ってくるトークンがトークンのリストに含まれているかどうかを確認する必要があります。トークンはデータベースにありません(つまり、トークンを要求するデータベースに照会することはできません)。PHPと読み込み速度

  1. 私はトークンの配列でPHPファイルを持っている:私は、次のいずれかの操作を実行することができます

    (のNoSQL DBSはオプションではありません)アプリによって呼び出されるPHPファイルを、このファイルを含んでいます。

  2. 私はトークン名で名前が付けられたn txtファイルを持っています:ファイルがアプリケーションからの名前で存在するかどうかをテストします。

  3. 私はトークンを含むtxtファイルを持っています。正規表現はトークンを検索します。

  4. 私はJSONファイルを持っています:PHPはJSONを読み込み、トークンがあるかどうかを確認します。

私が知りたいことは、データを読み取る最速の方法は何ですか?より速い方法がありますか?トークンは5000以下にすることができます。

ありがとうございます!

+1

ハードコードされた(1)がおそらくこの場合の最も速い解決策です。 –

+1

クローズ投票者:これは間違いなく意見ベースではありませんが、ちょっとしたベンチマークで、この小さな(5000-)データセットで最も速い方法がハードコードされたPHPファイルであることを証明します。 – hanshenrik

答えて

1

専用の.phpファイルアプローチのハードコーディングされたトークンは間違いなく最も速い方法です(たとえば、最初の実行後に事前にコンパイルされたOPcacheを考慮してください)。 個人的には、パフォーマンス上の問題が発生するまでSQLite dbとPDOを使用します。結局、sqlite dbは単なるファイルに過ぎません。 .txtファイルよりも簡単に問い合わせ、削除、追加、拡張することができますし、変更の並行性の問題も処理します。小さなflock() )

+0

あなたの種類の返信ありがとう –

2

@hanshenrikが提案したように、トークンの配列を持つPHPファイルは、より迅速なアプローチになります。もう1つのことは、PHPワールドのLaravelは悪名高いフレームワークです。翻訳のためのこのアプローチのlaravelでは、別々のPHPファイルを使用して、変換キーペアの連想配列を返します。

私が現在作業しているプロジェクトには、変換データを保持する膨大なファイルが多数あります。パフォーマンスの問題はありません。これが役に立ったら

関連する問題