我正在用node.js快速and服务器建立一个网站,我使用Mongo数据库。
在我的网站上,人们可以注册一个个人资料,他们可以上传图片和文字。
现在我经常听说,很多东西可以从缓存中加载,然后网站运行得更快。
现在,我问自己是否需要在脚本中编码一些东西来制作,例如,Mongo对请求使用缓存,或者是否需要编写任何代码来使浏览器或need服务器使用缓存中的图片。
有人能帮我理解这件缓存的事吗?
发布于 2021-04-20 10:06:54
实现服务器端缓存通常是使您的web应用程序更好地执行的最佳方法。这样做的目的是在请求之间的内存中本地存储数据,以减少数据库查找。
/page/page的所有后续请求Node.js Express有一个模块本地缓存:https://www.npmjs.com/package/node-cache
您还可以使用基于梅卡奇或雷迪斯的网络缓存。它们非常适合在多台服务器上运行的分布式web应用程序,因为缓存是在所有服务器之间分布和共享的。尽管它们比本地内存缓存慢一点,但它们可以具有更大的容量,可供多个web服务器使用,并且不占用web服务器本身上的内存资源。下面是一篇关于在node.js express:Express.js的简单服务器端缓存中使用它们的文章,下面是两者的比较:缓存- Memcached对Redis?-堆栈溢出
不管您是否使用缓存,您应该研究的另一种技术是减少每个页面的数据库查询。理想情况下,每个页面只对主要内容进行一个数据库查询。然而,一个页面进行多个甚至几十个数据库查询是非常常见的。特别要注意以下情况:
list = db_query("select product_id from products where product_category=?", page.category)
for itemid in list {
item = db_query("select product_name from products where product_id=?", itemid)
}应该用以下单个db查询替换该查询:
products = db_query("select product_name, product_id from products where product_category=?", page.category)https://webmasters.stackexchange.com/questions/134077
复制相似问题