PHP apc缓存变量并定期更新数据库

时间:2013-07-19 00:16:25

标签: php database variables caching apc

好的,我看过很多问题,但没有一个能解决我的“问题”。

说实话。我有某种可以被“喜欢”的对象可以这么说。如果有人喜欢它,则运行脚本(通过AJAX),使用likes = likes + 1更新db中的字段。 但是,如果很多人在线并且喜欢它,就像我得到1个查询一样,并且它对我的数据库连接给予了很大的重视。 因此我得到了APC。但我希望它将这些喜欢存储在缓存中,并且每个'like'它实际上将某个变量增加1,但在从缓存中删除变量之前,我希望将其插入数据库中。 这个过程的最佳实践是什么?

由于

修改

好的,因缺乏信息而烦恼。 其实我有dedi服务器,我有一些类似Twitter的网站。发生的事情是访问者数量每天都在增加,我开始收到超出我的SQL连接限制的错误日志。在此之前与共享主机我有重型PHP脚本(特别是选择)的问题,我几乎没有缓存。所以我想尝试APC以最小化mysqli连接的数量,并且最常见的sql任务之一就像/不喜欢。它只增加一个值。 我也会缓存选择,但我不在乎他们的时间到期,因为没有信息丢失......

我没有任何触发器,但我觉得通过某种缓存可以做得更简单 - 增加'喜欢'和每50个喜欢,进行1 sql更新。有时在线有超过500人,每个人都喜欢一些评论/帖子,这就是为什么我猜它会产生很多疑问。

如果你们认为更新不是那么重,我不会为此烦恼太多,而且只会覆盖很多选择。

我的结构很简单:

表1-帖子:列:1.ID 2.text 3.likes 4.不喜欢...... 表2 - 注释:列:1.ID 2.text 3.Posts_ID,4.likes ...

关于代码尽可能简单:

if( Mr.smith already liked){
    do nothing with database
}
else {
    mysqli->query("Update Posts set likes = likes+1");
}

任何提示都受到高度赞赏。

0 个答案:

没有答案