CouchDB支持缓存?

ajs*_*sie 7 caching couchdb

CouchDB是否支持开箱即用的缓存,或者我是否必须在Squid之前手动拥有一个缓存代理?

Jas*_*ith 15

简答:不.

答案很长:对吗?

CouchDB的整个理念是考虑以后可能查询的所有内容,现在计算它(方便的时候),并将结果存储在索引中.CouchdB的所有数据访问都来自扫描这些索引中的一个,这非常快,并且无论数据量多少(实际上是对数时间),往往需要大致相同的时间.

此外,CouchDB不会占用太多内存,因为它希望操作系统缓存其磁盘操作.文件系统缓存提供了巨大的性能优势.

最后,CouchDB支持所有用于缓存的Web标准,因此浏览器和ISP通常会缓存其中的一部分而不需要任何特殊操作.

我想我的观点是,对于高读取负载,CouchDB通常不需要缓存.但是,不,没有开箱即用的缓存功能.CouchDB使用HTTP的一个原因是允许人们使用标准工具来解决他们的问题.许多人确实在生产中使用CouchDB前面的缓存Web代理.


Dom*_*nes 5

它通过ETag支持一种缓存形式.(HTTP缓存机制)

ETag与文档_rev编号相同.您可以If-None-MatchGET请求一起发送标题.如果有新版本,服务器将发送它.否则,它会发回一个300 Not Modified标题,告诉您可以继续使用已有的修订版.