2

我想制作一个非常非常小但持久的数据结构,我可以在服务器端快速引用它,但我不确定如何。

基本上,我想要的是一个包含包含 3-10 个字符串的小结构的数组。该数组的大小为 50-5,000(可扩展)。

我正在考虑使用数据库,但在这种情况下这似乎有点矫枉过正。我正在考虑使用一个包含 JSON 的文件,但这似乎并不正确(我认为我的服务器必须加载文件,解析文件,然后在每次调用 cgi 时返回)。

我希望能够让 PHP 在每次被调用时以恒定、快速的时间从这种持久数据结构中获取一些东西。

我目前只使用香草 Apache 和 PHP。

4

1 回答 1

2

即使没有文件 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 更快。

于 2013-05-16T21:34:00.733 回答