シナリオ: - APCuを使用している少数のPHPプロジェクト(ウェブサイトなど)。それぞれは、一意のID /ハッシュによって識別される。 20文字です。我々はこれを$site_hash
と呼ぶ。 - 各プロジェクトは、キーで識別されるAPCuに格納された多数の小さな値を格納します。ので、apcu_fetch()は、接頭辞または接尾辞の方が高速ですか?
$value = apcu_fetch($key . '|' . $site_hash);
一つは、二番目が高速であることを考えることができます:
通常1は、このようにキャッシュキーを使用してエントリを区別します:
$value = apcu_fetch($site_hash . '|' . $key);
しかし、一つには、代わりにこれを行う可能性がありますこのように、ハッシュテーブルルックアップは、しばしば最初の数文字を見るだけでよい。
誰かがこの仮説を確認できますか?
(私はこの実験を自分で実行することができます確信している。私が行う場合、私はここでそれを共有することになります。)
あなたは間違っていません。一方、文字通りここではミリ秒単位で話しています。あなたが本当に何かをやっているのでなければ、正直に言って、どちらをやるか。 – Andrew
これは1回のリクエストにつき300回と言われることでしょう。クラスローダー用のキャッシュ。だから2ミリ秒を節約できるなら、私はそうするでしょう。 – donquixote
十分に公正。 @LeCintasは良い点を作っています。どのようにそれらのキーを置いても、それらの値をどのように置いても、平均ルックアップ時間はO(n)になります。 – Andrew