大規模なpostgresコレクションに基づくページのページ生成を高速化するために、クエリ結果をmemcacheにキャッシュします。しかし、非常に大きな不変なコレクションやアクセスがほとんどないコレクションでは、サーバー側のカーソルをポストグルに保存する方が実行可能な代替のキャッシュ戦略になるのではないかと思います。キャッシュ用のpostgresサーバー側カーソルを使用
コレクションの途中でページを提供した後で、コレクション内の他の場所のランダムなクエリよりも、「次の」リンクと「前の」リンクが使用される可能性が高くなります。クエリの大規模な起動コスト(避けられないような)を避けるために、近隣に「WITH HOLD」というカーソルを付けることができますか?
サーバー上のリソース消費については不思議です。コレクションが不変の場合、カーソルを保存するのにあまり多くのリソースは必要ないはずですが、私はこの点で最適化されたpostgresがどのようになっているのだろうかと思います。さらなるドキュメンテーションへのリンクがあれば幸いです。
私が想定するキャッシング戦略は、固定数のカーソルを格納することです。特定のクエリの近くにある場合は、結果のページを取得するために使用されます。さもなければ最も長く使用されなかったカーソルはリセットされます。 – shaunc