Couchbase将数据存储在磁盘中,并将其保留在RAM中。一旦达到高水印,我猜它开始了驱逐过程。我假设此时数据也会在磁盘中。驱逐真的意味着从RAM中删除消息吗?或者是否意味着从RAM中删除数据并将其写入磁盘?如果还包括将其写入磁盘,为什么磁盘中已存在的数据会被覆盖?
答案 0 :(得分:2)
Couchbase仅驱逐已保留到磁盘的文档。如你所说,驱逐意味着从RAM中清除文档数据。当使用价值逐出策略(默认值)时,Couchbase会将密钥和元数据保存在RAM中,并且只会逐出文档值。使用完全逐出策略,它会从RAM中删除密钥,元数据和值。
答案 1 :(得分:0)
Couchbase首先写入RAM,然后异步写入磁盘。根据配置,您可以在RAM中提供文档以及文档的元数据。并且,当阈值(高水位线)到达Couchbase时,将开始从RAM中逐出数据(值和/或元数据),直到达到低水位线。