在 ruby 进程之间共享堆
我正在将一个大对象加载到静态变量的堆中。因此,当我的 ruby 实例启动时,需要一段时间才能将 70MB 左右的数据从 Redis 传输到实例的堆中。
我正在运行 Sinatra 来托管使用此数据的 Web 服务,因此当应用程序收到大量请求时,其他实例会生成并将 70MB 的数据传输到其堆中。
有什么方法可以在实例之间共享这个静态变量吗?
谢谢!
I'm loading a large object in the heap in a static variable. So when my ruby instance starts, it takes a while to transfer 70MB or so of data from redis into the instance's heap.
I'm running Sinatra to host a the web service that uses this data, so when the application receives a lot of requests, other instances spawn up and also transfer 70MB of data over to their heap.
Is there any way that this static variable can be shared between instances?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
所以我发现这是不可能的。 Java 可以做到这一点是因为它的虚拟机,但不幸的是 ruby 不能。
So I figured out this was not possible. Java can do this because of its virtual machine, but unfortunately ruby can't.