我有一个文档在数组中的某些字段中包含大数据结构,由于频繁点击读取此类数据,它正在减慢我的应用程序。我正在考虑实现一些解决方案,但在我继续之前我需要建议,甚至可能是更好的解决方案,这是我的想法/问题:
- 它有助于缓存数据吗?
- 我应该使用 memcached 还是 redis 作为缓存引擎,为什么?
- 读取此文档中的单个字段而不是每次都读取它是否有帮助?
- 我应该做点别的吗?!
最佳答案
缓存会有所帮助,因为它可以避免您的数据库被频繁访问
Memcache 或 Redis 由您决定。我更喜欢 redis,但如果你已经有一个内存缓存就没问题了。
如果你有一个服务器集群,考虑是否需要一个集中式缓存
缓存完整文档无助于获取单个字段,因为您在不知道查询结果包含什么的情况下缓存了它。
关于大型文档的 mongodb 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39099268/