目前我正在为我的站点.But使用共享主机域我们目前在一个tables.So中有大约11,000,000行我们需要很多时间来加载webpage.So我们想在共享域中为我们的site.But实现数据库缓存技术,如APC或memcache我们没有这些设施,我们只有eaccelerator.But eaccelerator不缓存db调用,如果我不wrong.So考虑所有这些点我们想要移动到VPS,在这个case.which数据库缓存技术中,我们需要使用APC或memcache来减少VPS上的页面加载time...Please指南和更好的缓存技术。
发布于 2014-09-01 15:36:49
我们有类似的网站,我们使用APC
APC将缓存操作码以及生成的html。这有助于避免对页面进行不必要的点击
您还应在mysql上启用缓存以缓存查询结果
发布于 2014-09-01 17:06:59
我有一个任务,我需要从一个包含超过100.000条记录的数据库表中提取行。这是一个可滚动的页面。因此,我所做的是获取前50条记录,并在第一次调用中缓存下50条记录。在向下滚动事件时,我编写了一个ajax请求来检查数据是否在缓存中可用;如果没有,我从数据库中获取数据,并缓存下50个数据。它工作得很好,并解决了不方便的加载时间。
如果您有类似的场景,您可能会从这种方法中受益。
附言:我使用了memcache。
发布于 2014-09-01 21:20:21
从您的评论中,我认为您正在执行LIKE %..%查询,并希望对结果进行分页。首先,调查全文索引是否适合您,因为它们应该执行得更好。如果这不是一个选项,您可以像这样添加一个简单的缓存:
foobar
..?search=foobar,那么"foobar“就是结果集的id。保持在你的所有链接中,例如..?search=foobar&page=2.
sha1(strtolower($query)).serialize数据并将其存储在file.中
从文件中获取数据,删除它,显示与请求的page.
if (rand(0, 100) == 1) ..之类的工具来做到这一点,它将平均每100个查询运行一次清理作业。在服务器负载和数据更新之间取得平衡。缓存失效是整本书都可以写的话题,顺便说一句。这是一个简单的穷人的缓存实现。这不是很好,但如果您完全没有其他东西可用,它总比一遍又一遍地运行缓慢的查询要好。
https://stackoverflow.com/questions/25600704
复制相似问题