【发布时间】:2012-03-31 21:03:50
【问题描述】:
我希望开发一个以小表为中心的 LAMP 应用程序,可能少于 100 行,每行可能有 5 个字段。该表需要快速访问存储在其中的数据,每个用户可能最多每秒一次(尽管这是“理想”,但实际上可能会略有下降)。将对该表进行许多更新,但 SELECT 将远远超过 UPDATE。
可用的硬件不是很强大(它将在可能具有 512mb RAM 的 VPS 上启动)并且它需要可扩展 - 启动时可能只有 10 个并发用户,但这可能会增加到数千个(并且,正如我们都希望的那样,可能有 10,000 个,但这个级别会有更强大的硬件可用)。
因此,我想知道是否有人可以为我指明正确的起点 - 检索到的所有数据对于所有用户都是相同的,因此我正在尝试调查是否有任何方式共享这些数据所有用户,而不是每秒执行 10,000 次相同的选择。呜呜:
1) mysql_query_cache 是否会缓存这些结果并允许访问数据,而不需要为每个用户重新选择? 2)(对于这个问题的广泛性表示歉意,即使是最简短的回复,我也将不胜感激!)我一直在研究 APC 缓存,因为我们已经将它用于操作码缓存 - 是否有缓存数据的方法在 APC 缓存中,并且每秒只执行一次 MYSQL 选择来更新此缓存 - 然后只为每个用户访问 APC?或者也许是替代缓存?
如果这一切都失败了,我可能会考虑使用一个单独的脚本来处理查询和输出数据,并且以某种方式将这个脚本的数据传递给所有用户。这不是一个完全形成的想法,我不确定实现,但也许是 AJAX 的组合,可以从...“某处”...提取输出数据... :)
再次对这些问题的广度表示歉意 - 任何人的一些简短指示将非常非常感谢。 再次提前感谢
【问题讨论】:
-
不要使用 MySQL 缓存,而是使用 Memcached
-
@RomanNewaza - 谢谢 Roman,我会调查 Memcache :)