【发布时间】:2017-01-06 21:48:05
【问题描述】:
有没有办法用Ruby打开共享内存块,相当于PHP中的shmop_open?
我有一个进程定期更新内存块。我的 Rails 应用需要读取这些数据。
【问题讨论】:
-
假设你可以,你为什么会呢?似乎您的解决方案超出了 Ruby 解决问题的方法的范围。
-
我们的基础设施将我们的客户端数据库托管在不同的服务器中,每当我们启动服务器时,我们都会在内存中托管我们的客户端地址。我想快速访问内存中的这些数据,而不是主数据库查询。
-
典型的处理方式是环境变量,而不是任意内存地址。 blog.honeybadger.io/ruby-guide-environment-variables
-
注意:您将遇到的部分问题是您将绕过 Ruby 将这些字节转换为对象的功能。我找到了this library,但我无法想象跳过这些障碍比更新您的基础架构以利用环境变量更容易。
-
@coreyward 共享内存(可能与
String#unpack结合使用)比环境变量更强大、更灵活。尝试将大量数据放入ENV或修改另一个进程的ENV以获取简单示例。
标签: ruby shared-memory