PHP shmop如何在共享内存中存储一​​个数组

标签 php mysql shared-memory

我需要将一些 6-8GB 的​​静态数据作为数组对象存储到共享内存中。数据是从数据库中获取的。我想 fork() 并允许 child 根据索引访问和搜索数组中的元素。

就我而言,我只能使用 shmop() 存储“字符串”。但我想存储一个 PHP 识别为数组对象的数组。

有什么建议吗?

最佳答案

这似乎可以通过 PHP 的 SEM functions 来完成.

它在内部序列化对象。鉴于数据量巨大,性能会随着数据的增加而大幅下降。对于 shmop 和 SEM 来说,8GB(并且还在增加)太多了,无法有效处理。

我的替代方案是在需要时简单地查询数据库(同时为每个线程存储一个本地缓存版本),我认为这会更快(尤其是使用 SSD)。所以这些功能不是我要走的路。

关于PHP shmop如何在共享内存中存储一​​个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12684081/

相关文章:

php - 在 PHP 中使用共享内存

php - symfony 2.0 是否足够稳定可以使用?

php - zend 未按复杂顺序找到列

MySql 多个 where 条件 - 只匹配第一个正确的条件

mysql - PHP 错误 : Maximum function nesting level of '100' reached, 中止

shared-memory - 在 Linux 中使用 ipcrm 删除共享内存

java - 有没有一种可靠的方法在java中使用堆?

php - TCPDF - 如何从 PDF 中提取页面?

php - 代码点火器: "Cannot redeclare class"

php - 如何检查模型是否具有特定属性?