背景:我有我接管的应用程序(原工程师离开)充当的一些相对慢后端服务缓存层.因为它是RESTful样式的URL,所以每个URL都是唯一的.该应用程序使用MongoDb作为缓存的存储,并使用哈希值作为缓存.虽然哈希码应该是非常独特的,但它并不是唯一的.
问题:我被告知使用哈希码(而不是url)的原因是因为MongoDb的_id字段有长度限制,但我找不到任何文档.我在MongoDb文档中找到的只是"_id字段可以是除数组之外的任何内容,只要它是唯一的".MongoDb的_id字段是否有长度限制?如果是这样,限制尺寸是多少?
该应用程序是用Java编写的.哦,我是MongoDb的新手.
Rem*_*iet 12
要索引的字段的长度是有限的,即1024字节.这是对索引条目大小的限制,而不是文档字段大小,限制在~16MB(完整文档的最大大小).
出于性能原因,您不需要索引字段的大字段值,因为与这些大值的比较要慢得多.还要记住,每个索引都会维护被索引的值的副本,因此需要大量内存.这反过来意味着更频繁的磁盘访问以交换虚拟内存页面进出内存,这再次对性能产生负面影响.
所以是的,限制在800字节.
归档时间: |
|
查看次数: |
5868 次 |
最近记录: |