当前位置: >首页>新闻列表>从数据库读几千条记录并写入到redis的列表中
如果给你一个这样的场景,从网页采集到了几千条记录,并已经存入到数据库中。现在要将几千条记录从数据库中读取出来,并写入到redis中。你会怎么做呢?
有些人可能会一次性将数据库读取出来,然后遍历并保存到redis中。其实这个方法也没有什么大问题。毕竟数据量不大。而且当下服务器电脑的配置都很高,读写几千条记录都是很快的,所以问题不算大。
也有些人,怕服务器反应不过来,然后,就按一定量的数据,一次次读取。比如一次读取100条。几千条记录就是读取几十次的问题。当然,逻辑上没问题,就是实现起来的话,代码比较复杂。如果基础不扎实或者说一个符号弄错的话,排查都的废不少时间。
那么我们的思路是什么呢?
从数据库中读取数据,我们最不怕数据会丢失的问题。所以大胆点,将10000条记录设为一个数量级。没10000条就执行一次查询,如果到最后剩下不足10000的时候,按最大的值来算。如果你当前数据不超过10000条的话,就没有必要在细分了。毕竟低于10000条在细分的话,可能会导致繁琐的逻辑运算降低服务器的执行效率。
现在,我们看看代码部分。
代码中,我们数据库的记录不够10000条。所以这里我们用2000条来做案例说明。
上面的代码中,惠州网站建设从数据库读取2000条记录,返回到数组中。然后将有用的数据,存入到redis告诉缓存中。为什么要写到这个地方呢?有些人会说,直接用数据库查不更方便。?
其实用redis的目的是让每个用户过来请求的时候,可以进行一定的排序。不是随便的读取。这样的好处是,让先进来的数据优先处理掉。后进来的也不会忘记处理。既然说到这里,那么读取数据的时候,你们应该采用我们是用$redis->lpop 来读取。