我有一个Node.js应用程序,并将其部署在Heroku上。API调用是从本机应用程序进行的。我使用Postgresql作为数据库(Sequelize as orm),我的数据库允许最多20个连接。
当这些连接已满时,我收到一条错误消息"too role for role ...“如果此时有一个post请求,它就不会被保存。
有没有办法将请求“挂起”,并在连接可用时尽快完成?
根据Redis文档,redis是单线程的。但是,我遇到了一种奇怪的情况,通过不同的方法获取数据。我的redis存储了4个散列,每个散列有50,000个键,每个值300 stores 32大小。我尝试以三种方式获取数据,并得到不同的计时结果。1.串行方式: def fetch_data():for I in range(4):r.hgetall(hashi)
使用hgetall串行方式获取数据,我在4秒内得到数据。
使用异步等待和aioredis,并收集,我得到相同的时间,这是合理的,因为瓶颈是redis,而redis一次处理一个请求。现在事情开始变得奇怪,我使用多处理python库和我生成了4