CouchDB是否支持开箱即用的缓存,还是需要像Squid一样手动在其前面放置一个缓存代理?
CouchDB的整个哲学就是考虑到可能需要查询的所有内容,现在(方便时)计算并将结果存储在索引中。CouchdB的所有数据访问都来自扫描这些索引之一,这非常快,并且往往需要大约相同的时间来处理数据量(实际上是对数时间)。
此外,CouchDB不使用太多内存,因为它期望操作系统缓存其磁盘操作。文件系统缓存提供了巨大的性能优势。
最后,CouchDB支持所有Web缓存标准,因此浏览器和ISP通常会缓存其中的某些部分,而无需进行任何特殊操作。
我想说的是,对于高读取负载,CouchDB通常不需要缓存。然而,没有开箱即用的缓存功能。CouchDB使用HTTP的一个原因是允许人们使用标准工具来解决问题。许多人在生产环境中在CouchDB前面使用缓存Web代理。