2

Couchdb (Cloudant がホスト) を使用しています。Couchdb のすばらしい点の 1 つは、ドキュメントをクエリするときに、標準の http etag ベースのキャッシングをサポートすることです (etag はドキュメントの _rev フィールドです)。

ただし、ビューをリクエストすると、基になるドキュメントが変更されていない場合でも、リクエストごとに etag が異なることに気付きました。これは、データベース サーバーからのトラフィックを最小限に抑えるために etag を使用する目的を無効にします。

これを修正するためにどこかを微調整する必要がある設定はありますか?

編集:

私の設計ドキュメントへのリンクは次のとおりです

ビューの出力へのリンクは次のとおりです

Chrome でビューを更新し、ネットワーク コンソールを使用してサーバーから送信されたヘッダーを調べるたびに、異なる etag を取得します (たとえば、更新した最後の 3 回では、それぞれ 34c474c51f0beb87fa13755b9594c52a、39da8a25e57ba660da6a905d8374b26f、および 6c5862d8d4a9375c2c183aaa184 を取得しました)。基になるデータが更新間で変更されていないことを確認してください。

4

2 に答える 2

2

あなたが説明したことは非常に驚くべきことです...ドキュメントを変更しない限り、ビューに対して常に同じetagを取得します。また、「If-None-Match」ヘッダーで非常にうまく機能します。

「実際のビュー」を使用してもよろしいですか:

  • 一時的なビュー?
  • リスト?
于 2012-10-21T13:39:38.213 に答える
2

_rev現在、Cloudant は個々のドキュメント (ETag はドキュメントのフィールド) での ETag キャッシングをサポートしていますが、ビューではサポートしていません :(

于 2013-05-21T15:18:47.300 に答える