可能是一个虚假的问题,但我无法弄清楚。这是一个概念问题。 我有一个网络平台,用户可以存储大约500个同时连接的东西。 在性能/安全性方面,最佳方法是什么:
连接本身很耗时,这就是为什么我在寻找最好的方法。 但另一方面,我总是听到“总是尽快关闭你的数据库连接”
感谢您的帮助。
答案 0 :(得分:0)
我说这在很大程度上取决于您的具体用例和服务器设置。确切知道的唯一方法是尝试不同的解决方案并分析您的代码。
通常,当您分析首先选择的解决方案时,您将获得有关导致延迟的原因以及等待/处理时间的最大贡献者的提示。通过这种方式,您可以更好地猜测下一个(并改进的)解决方案。
通常,它是一种很好的方法,可以懒惰地进行评估,然后尽可能地进行缓存。对于Web应用程序,像Memcached或Redis这样的非关系型数据库就是一种事实上的标准(至少在我的经验中)。
如果保持数据库连接处于打开状态,您应该知道只能在数据库设置为处理时运行尽可能多的并发查询。尽快关闭连接可以降低数据库并发性。 如果连接建立引入了大量延迟,也许您应该考虑偶尔获取所有相关数据并缓存它们。确切知道的唯一方法是分析您的申请。
更新
感谢您的回复。我将对此进行分析以了解哪些方法可能更好。 我将看看MemCached。我想稍后再看,但我想 那将是正确的时间。 - fperr
我最初也被MemCached推迟了,但它根本不复杂。它作为(哈希)地图/字典工作,人们通常只是在MemCached实例上保存会话数据,并通过会话ID或类似的东西对其进行索引。
祝你的项目顺利:))