我制作了一份进度表,1-30位用户将在一天中不断更新。它由PHP和jQuery控制,所有数据都存储在mySql数据库中。
在实时服务器上运行速度很慢,因为我查询了搜索和过滤器。我想知道存储结果的最佳位置在哪里,因为我只需要最新的更新,但我不需要经常过滤和更新。
是否可以将这类数据存储在会话中,或者我可以存储哪些数据以避免在每次更改/搜索或页面更改时进行完整查询?
答案 0 :(得分:0)
我确实调查了memcached,但我最终重新设计了它。
我使用jQuery在匹配的数据属性上使用hide()和show()来过滤记录,而不是使用“LIKE'%Darren%'”SQL查询。 这会将用户终端上的负载与我的服务器相对(尝试将动画保持在最低限度,以保持较低的内存使用率)。
然后我在HTML中存储用户终端上次更新的时间戳,然后运行一个 “SELECT id FROW progress WHERE updated> '2014-02-20 16:54:30'LIMIT 1“定期查询。 如果我得到1条记录,我会使用Ajax进行全面更新,并使用新的HTML刷新所需的区域。
这样做可以让它变得更加快捷和顺畅。
我如何帮助,如果您需要更多信息,请告诉我!