分かりましたよ〜。

検索キーをキャッシュの中から探すのではなくて、
あらかじめ、検索キーとその検索キーでヒットするHPを対応付けておくんだ。

キーのハッシュ値を使えばそのまま配列が使えるし、
検索結果の順番もあらかじめ決めておけるし、
かなり速くなりそう。

全HPをメモリ上に置く必要がないし、、、