我在所有PHP脚本之间共享了一些复杂的数据结构(对象和东西),现在我将序列化存储在会话中。如果我不必为每个传入请求序列化和反序列化它,它可以提高我的服务器性能。此数据结构保存应用程序的ACL信息,因此对于所有应用程序的用户来说都是相同的,因此它是在所有请求之间共享的完美候选者(无论请求来自哪个用户)。
我用Google搜索 PHP共享内存和these functions came up。它们是完美的,只是它们只能保持弦乐。如果我不能按原样存储我的数据结构,它们对我没用。我的意思是如果我必须为每个请求序列化和反序列化我的数据结构,那不是那么多帮助。
有没有人有我的任何共享内存解决方案,我可以按原样存储我的数据?
答案 0 :(得分:1)
将复杂对象存储到memcached中。
将您的复杂数据结构重构为两部分:一部分经常使用(在所有请求中),一部分很少使用。您可以存储多余的数据(一个值可以保留在频繁和很少使用的部分中),以便很少使用复杂的部分。
如果每个请求都需要访问整个复杂对象。您需要构建一个算法来提取所需的数据,而不是将其反序列化为对象和使用。