0

我有一个系统,我在其中使用 PHP 多次读取和写入单个注册表,并且在一段时间(几分钟)后消失。

基本上,一种带有计数器(只是一个整数)的投票系统,可以增加和减少(1 倍)。

因此,我必须在用户每次访问此页面时阅读它并在大多数情况下(当用户交互时)在其上书写。

目前,我正在使用一个数据库(MySQL),一个表和一个带有一列的注册表。

但我认为它的效率很低。

而且我担心如果网站继续增长,它会崩溃,因为其余的内容可以被缓存,但这不能,因为它应该是实时的。

我曾想过使用文件,但可能更糟,对吧?

我托管在共享服务中,并且..,因此,我不能使用 MemCached 或 Redis

关于如何有效地做到这一点的任何想法?

提前致谢。

4

1 回答 1

0

我担心在共享主机环境中,这会很困难。您可能无法访问/dev/shm,因此文件缓存不是一种选择。APC 和 memcached 也不起作用。

所以只剩下一个选择:优化您的查询。一方面,我建议你只INSERT在一张你写得很多的桌子上使用。然后,制作第二个表,它只保存聚合值。此处您需要UPDATE,但更新频率应以一分钟或 2 分钟为基础(同时从表 1 中删除原始数据)。因此,您的数据仍将是近乎实时的,但性能要好得多,而且它会随着更新时间的增加而直接扩展。

于 2012-12-03T15:29:01.980 回答