背景:我已经正在接管一个应用程序(原始工程师正在离开),该应用程序充当一些相对较慢的后端服务的缓存层。因为它是 RESTful 风格的 URL,所以每个 URL 都是唯一的。应用程序使用MongoDb作为缓存的存储,并使用哈希值作为缓存。虽然哈希码应该是相当唯一的,但它并不是唯一的。
问题:有人告诉我使用哈希码(而不是 url)的原因是因为 MongoDb 的 _id 字段有长度限制,但我找不到任何相关文档。我在 MongoDb 文档中能找到的只是“_id 字段可以是数组以外的任何内容,只要它是唯一的”。 MongoDb的_id字段真的有长度限制吗?如果是的话,限制大小是多少?
该应用程序是用 Java 编写的。哦,我是 MongoDb 的新手。
要索引的字段的长度有限制,为 1024 字节。这是对索引条目大小的限制,而不是对文档字段大小的限制,后者限制在 ~16MB(完整文档的最大大小)。
出于性能原因,您并不真正希望索引字段具有较大的字段值,因为与如此大的值进行比较的速度要慢得多。另请记住,每个索引都会维护被索引的值的副本,因此需要大量内存。这反过来意味着更频繁的磁盘访问以将虚拟内存页面交换进和交换出内存,这又对性能产生负面影响。
所以是的,限制为 800 字节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)