用node.js接受http请求,把数据缓存在node的栈里,可替代nosql数据库吗?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

用node.js接受http请求,把数据缓存在node的栈里,可替代nosql数据库吗?

落地花开啦 2016-02-28 10:00:35 3222

例如到达1k个请求的时候把数据从node的从内存中存入关系型数据库。
数据一致性不要求,最终存入关系数据库就行了。
都是存内存里,不知道有没有什么区别。
各自有什么优缺点?

sql请求 数据库like nodejs数据库 nodejs数据 Node.jshttp请求
分享到
取消 提交回答
全部回答(3)
  • 云建站小宋
    2021-07-08 18:18:47

    最佳回答:

    nosql数据库也是区分使用方式,例如

    • memcache/redis是用于缓存,大部分情况下只落到内存,数据不会在磁盘上存储,所有查询都在内存完成(当然redis也有将数据落到磁盘的模式)

    • mongodb是所有数据都会落盘,内存部分只是为了加快查询速度,起缓存作用

    至于为什么使用nosql数据库,这得分很多场景,我这边只说下问题中说的数据缓存场景

    使用内存做缓存适用于比较简单的工程项目,例如 单机单进程、访问量不大、不考虑分布式、缓存策略不复杂 等等,这种情况下不引入外部依赖反而能减少运维上的负担

    但是一旦工程项目需要更健壮或者需要分布式部署之类,redis这类nosql缓存服务就发挥作用了,能提供以下几点便利:

    • 应用进程(例如nodejs)重启缓存数据不丢

    • 可以很方便设置缓存的生效时间(当然在node里用定时器实现也可以,只是要重新造轮子)

    • 轻松实现多机多进程之间共享缓存数据(例如:请求A发送到进程a中触发了缓存,当后面同样的请求A再发送到进程b时进程可以直接利用进程a写入的缓存)

    官方帮助文档地址:阿里云帮助中心

    更多参考: 阿里云官网(新用户需注册查看),可领上云红包

    0 0
  • willkan
    2019-07-17 18:49:22

    nosql数据库也是区分使用方式,例如

    • memcache/redis是用于缓存,大部分情况下只落到内存,数据不会在磁盘上存储,所有查询都在内存完成(当然redis也有将数据落到磁盘的模式)
    • mongodb是所有数据都会落盘,内存部分只是为了加快查询速度,起缓存作用

    至于为什么使用nosql数据库,这得分很多场景,我这边只说下问题中说的数据缓存场景

    使用内存做缓存适用于比较简单的工程项目,例如 单机单进程、访问量不大、不考虑分布式、缓存策略不复杂 等等,这种情况下不引入外部依赖反而能减少运维上的负担

    但是一旦工程项目需要更健壮或者需要分布式部署之类,redis这类nosql缓存服务就发挥作用了,能提供以下几点便利:

    • 应用进程(例如nodejs)重启缓存数据不丢
    • 可以很方便设置缓存的生效时间(当然在node里用定时器实现也可以,只是要重新造轮子)
    • 轻松实现多机多进程之间共享缓存数据(例如:请求A发送到进程a中触发了缓存,当后面同样的请求A再发送到进程b时进程可以直接利用进程a写入的缓存)
    0 0
  • 落地花开啦
    2019-07-17 18:49:22

    node进程有内存限制,在1-2G之间,数据大了是不能放进去的;
    nosql有它的用处,比如像memcached可以用做缓存,
    redis可以利用它较为复杂的数据结构

    0 0
添加回答
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题
推荐课程