Begined
2016-01-11 12:32
老师,你这个代码的话我点一次下一页,他就会读一次数据库。一个网站不止一个人用,如果很多人(几万、几十万)同时点击,那么就会同时访问数据库。数据库这样下去不就挂了?有什么更好的方法解决这个问题吗?
分页可以这样做,你一下子缓存把所有数据缓存下来也不靠谱。 你缓存10页到20页的数据。当点击到21页往后的数据时候再去请求数据库。请求和缓存两不误。
上面说的CDN,使用redis或者memcached,设计服务器集群等等方案这些也可以做,但是这些都是要运维去搞得了,如果你想自己从代码层去优化不防试下刚说的方法。
嗯呢,这个就涉及到并发性的问题啊!当一个网站达到一定规模后就需要考虑这些问题,最常见的解决方案,主从服务器配置,使用CDN,使用redis或者memcached,设计服务器集群等等方案。你可以在网上搜索一下,如何解决高并发。
读取数据库是必然的,因为你需要从中取数据更新数据就必须与它建立连接,至于如何处理大批量,现在有种机制叫做缓存,所以当大批量的访问发生时并不是一次性都遇数据库连接的。
PHP+MySQL分页原理实现
41180 学习 · 175 问题
相似问题