Ruby on rails 通过先写入redis,再写入磁盘来加速web服务?

Ruby on rails 通过先写入redis,再写入磁盘来加速web服务?,ruby-on-rails,ruby,web-services,redis,jruby,Ruby On Rails,Ruby,Web Services,Redis,Jruby,我有一个web服务,它运行多个DB查询,大约需要500毫秒到1000毫秒(取决于EC2决定在给定的连接处调用时给我多少I/O)。用户希望速度超过1000毫秒,这是可以理解的。我想做的是获取请求参数,将它们填充到redis队列中,而不写入磁盘,然后在异步队列中运行一个作业,该队列执行磁盘写入操作。这样的事情在实践中正常发生吗?我这么建议是不是疯了?只要你的Redis定期保存到磁盘上,这应该会起作用。您希望限制可能丢失数据的场景数量。一个足够积极的Redis持久化计划应该适用于大多数情况 尝试立即向

我有一个web服务,它运行多个DB查询,大约需要500毫秒到1000毫秒(取决于EC2决定在给定的连接处调用时给我多少I/O)。用户希望速度超过1000毫秒,这是可以理解的。我想做的是获取请求参数,将它们填充到redis队列中,而不写入磁盘,然后在异步队列中运行一个作业,该队列执行磁盘写入操作。这样的事情在实践中正常发生吗?我这么建议是不是疯了?

只要你的Redis定期保存到磁盘上,这应该会起作用。您希望限制可能丢失数据的场景数量。一个足够积极的Redis持久化计划应该适用于大多数情况


尝试立即向用户反馈他们的操作已被接收并正在处理中。没有什么比在出现提示人们再次尝试上传之前的轻微延迟更令人困惑的了。

如果这实际上只是在进行异步后台处理,您可能想看看。