【发布时间】:2011-02-01 14:00:25
【问题描述】:
我的网站中有一个块,显示数据库表中的最新 20 项。
现在我需要创建一个数组或对象驻留在内存中,然后为浏览我网站的所有用户访问它?
我可以用 PHP 来做吗?
感谢您的帮助
【问题讨论】:
-
你已经有了。该对象称为“查询缓存”,驻留在 DB 恶魔的内存中
-
我不喜欢访问数据库!!正如我告诉你的那样,我将获得最新的 20 件物品,这些物品每时每刻都会改变。所以我想避免访问数据库并对其进行开销
-
这毫无意义。上面,Alaa 说它“每时每刻”都在变化,但在下面他们说缓存将从数据库中更新,大概是“每时每刻”……那为什么不直接查询数据库,然后跳过中间人呢?除非这已经是一个拥有数千次点击的庞大应用程序,并且 DB 开销是对事物的明显拖累,否则这有过早优化的味道。
-
100k 一天(仅限于 8 小时工作日)大约是 8 秒;我认为这不是一个巨大的数量,但我不是大型应用程序的专家。我再次建议,尽管在您迁移到 memcache 或 APC 之前,您执行指标并确定它实际上不是导致任何延迟的数据库开销(您没有说明是否这样做,或者实际上是否存在任何延迟,所以我们仅根据您共享的小信息运行)。故事的寓意:不要假设有开销,先测试一下。如果你有,那就太好了,但你还没有透露这个事实。
-
上面的补充:一天 8 小时的 100k 实际上每秒只有 3 次点击,我认为这是任何系统都可以在没有花哨的缓存的情况下处理的。
标签: php object shared-memory