当前位置: 首页 > 知识库问答 >
问题:

红宝石 P 存储文件太大

颜修为
2023-03-14

我正在使用PStore存储一些计算机模拟的结果。不幸的是,当文件变得太大(从我所看到的超过2GB)时,我无法再将文件写入磁盘,我收到以下错误;

Errno::EINVAL: Invalid argument - <filename>

我知道这可能是IO的限制,但我想知道是否有解决方法。例如,要读取大型 JSON 文件,我会先拆分文件,然后分批读取。也许最终的解决方案应该是在后端切换到一个合适的数据库,但是由于特定Ruby(Sketchup)的一些限制,我使用这个并不总是可能的。

共有1个答案

范霄
2023-03-14

我将假设您的数据有一个字段,可以用作粗略的键。

因此,我建议不要将数据转储到一个大文件中,而是将数据放入不同的文件/桶中。例如,如果您的数据有一个< code>name字段,您可以取名称的前1-4个字符,用这些字符创建一个文件,如< code > rojj-datafile . p store 并在那里添加条目。任何名字以“rojj”开头的记录都放在那个文件里。

更结构化的版本是将第一个字符作为目录,然后将文件放入其中,如< code > r/rojj-datafile . p store 。

显然,您的读/写机制必须考虑到这种新的文件结构,毫无疑问,将数据处理到pStore中的速度会变慢。

 类似资料:
  • 在我的docker服务器上,我在sidekiq/redis URL-URL-Sespecification上出错: 我明白了 URI::InvalidURIError:方案redis不接受注册表部分:bsc\u redis:6379(或错误的主机名?)来自/usr/local/lib/ruby/2.0.0/uri/generic。rb:214:innew'from/usr/local/lib/ru

  • 对于一个电子商务应用程序,我试图将选项的散列(每个选项都有一个选择数组)转换为表示这些选择组合的散列数组。例如: 输入内部可能有其他选项,每个选项的选项数量不确定,但它只会嵌套 1 级深。任何

  • 我正在使用Ruby和Selenium web驱动程序测试一个webapp。我无法检查显示网页中单元格的内容。我想要的是td中的IP。 我使用Firefox插件firepath获取IP的Xpath。它给出了“html/body/div[1]/div[2]/div[3]/form/table/tbody/tr[1]/td[6]/ul/li”,看起来是正确的。 但是我无法显示IP。这是我的测试代码; 把

  • 有人知道为什么IntelliJ Idea Ultimate不喜欢更新语法中的Ruby哈希文本吗?请参阅下面IDE屏幕截图中的红色下划线。语法: 真的很烦人,因为这意味着我的整个项目在目录树上都有一条红色下划线。 我在IDE首选项中设置了一个大于1.9的Ruby SDK版本(我认为是在这个时候引入了新的哈希文本语法),所以没有任何借口! 谢谢

  • 问题内容: 我正在尝试对java中的AES数据进行编码,通过网络发送数据并以ruby对其进行解码。 基本字符串可以正常工作,但是一旦字符串的长度为16个字节或更多,我在解码后的红宝石字符串的编码中就会产生垃圾。我猜想它与填充有关(虽然不确定,因为它甚至影响精确大小为16的字符串) 我尝试使用PKCS或只是在字符串的末尾添加空格以匹配确切的长度而没有运气 还可以有人解释为什么我必须在红宝石中执行“

  • 问题内容: 詹金斯(Jenkins)正在为我们运行一个Ant构建。Ant构建了一个Objective-C项目的CI-一个可在iOS和OSX上使用的库。 这个Ant构建可以在Jenkins中运行,也可以在Jenkins中运行,因此开发人员可以在签入之前验证其工作,并且Jenkins将提供另一层检查。(因此减少了构建失败影响其他贡献者的机会)。 我创建了一个执行以下任务的任务: 。。即使机器已安装RV