在PHP的共享内存中存储复杂的数据结构

时间:2014-11-30 12:10:08

标签: php shared-memory complex-data-types

我在所有PHP脚本之间共享了一些复杂的数据结构(对象和东西),现在我将序列化存储在会话中。如果我不必为每个传入请求序列化和反序列化它,它可以提高我的服务器性能。此数据结构保存应用程序的ACL信息,因此对于所有应用程序的用户来说都是相同的,因此它是在所有请求之间共享的完美候选者(无论请求来自哪个用户)。

我用Google搜索 PHP共享内存these functions came up。它们是完美的,只是它们只能保持弦乐。如果我不能按原样存储我的数据结构,它们对我没用。我的意思是如果我必须为每个请求序列化和反序列化我的数据结构,那不是那么多帮助。

有没有人有我的任何共享内存解决方案,我可以按原样存储我的数据?

1 个答案:

答案 0 :(得分:1)

  1. 将复杂对象存储到memcached中。

  2. 将您的复杂数据结构重构为两部分:一部分经常使用(在所有请求中),一部分很少使用。您可以存储多余的数据(一个值可以保留在频繁和很少使用的部分中),以便很少使用复杂的部分。

  3. 如果每个请求都需要访问整个复杂对象。您需要构建一个算法来提取所需的数据,而不是将其反序列化为对象和使用。