Php 在插入MySQL之前临时存储数据
在我的PHP站点上,我每10秒向服务器发送一次AJAX请求,然后执行以下操作:Php 在插入MySQL之前临时存储数据,php,mysql,caching,nosql,memcached,Php,Mysql,Caching,Nosql,Memcached,在我的PHP站点上,我每10秒向服务器发送一次AJAX请求,然后执行以下操作: update users set points = points + 1 where id = 5 问题是有很多MySQL更新,它正在杀死我的服务器 我想将积分临时存储在某个位置,当某个用户累积100分时,我将更新用户表。因此,1次插入而不是100次插入 我应该如何临时存储数据 要求: -大量更新 -存储至少500MB的数据(如果存储在内存中,我有足够的内存) -(可选)如果可能,数据应在服务器重新启动后存在 me
update users set points = points + 1 where id = 5
问题是有很多MySQL更新,它正在杀死我的服务器
我想将积分临时存储在某个位置,当某个用户累积100分时,我将更新用户表。因此,1次插入而不是100次插入
我应该如何临时存储数据
要求:
-大量更新
-存储至少500MB的数据(如果存储在内存中,我有足够的内存)
-(可选)如果可能,数据应在服务器重新启动后存在
memcached是否适用于此?(大量更新)
是否有类似memcached的东西,但可以选择将数据写入磁盘,并在重新启动服务器时恢复数据
APCu、MongoDB或NoSQL数据库会更好吗?看看。它可能很容易解决你的问题
它是一个像memcached一样的键值存储。我发现它更适合我的需要。它有可以解决你确切问题的方法
如果我是对的,它也可以将数据保存到磁盘。您是否在
用户(id)
上有索引?是的,我有索引。这是一个InnoDB表,“好多了”是非常主观的。