我想做一个非常,非常小,但持久的数据结构,我可以在服务器端快速引用,但我不确定如何做。
基本上,我想要的是一个包含3-10个字符串的小结构的数组。数组的大小在50-5,000之间(可扩展)。
我正在考虑使用数据库,但在这种情况下这似乎有点过头了。我正在考虑使用一个包含JSON的文件,但这似乎并不正确(我认为我的服务器必须加载该文件,解析该文件,然后在每次调用cgi时返回)。
我希望PHP在每次调用时都能从这个持久数据结构中以恒定的、快速的方式获得一些东西。
我目前只使用普通的Apache和PHP。
发布于 2013-05-17 05:34:01
即使没有文件,APC也可以存储这些数据!apc_fetch和apc_store。唯一的问题是,数据被限制在一台服务器上,所以一旦你有集群或多台服务器,它们就不会共享数据。(http://www.php.net/manual/de/ref.apc.php)
如果涉及多个服务器,memcached或redis值得一查。Redis有内置的数组。
编辑:
检查对于您的场景,json_encode/json_decode是否与序列化/反序列化一样快,甚至更快,jsonlib可能真的更快。它删除了一些php特有的数据,这对你来说可能是不必要的(对象名等)。
Edit2:如果服务器崩溃,普通的apc解决方案将丢失所有数据。这就是为什么如果需要的话,你也应该把它写到一个文件中。apc在apache进程中,因此它将比memcached或redis更快。
https://stackoverflow.com/questions/16597783
复制相似问题