php 命令行执行和linux 定时器执行的区别

乔治的春天
  • 53

我有个 test.php
伪代码 把redis的数据同步到数据库中
while(true){
$redis->lpop(key);
Db::insert();
}
我想请问下 我使用 php test.php 命令行执行
与linux 中通过定时器执行有什么不同 假设抛开定时器每分钟来说

如果是这样的话 还要redis干嘛呢 直接写入数据库不也一样吗

回复
阅读 974
2 个回答

一般的场景是,redis 队列中的数据是随时push进来的,那么我们可以通过 crontab 定时执行脚本,可以保证redis 队列中的数据不堆积,能够及时的pop出来并存库。这就是一般的异步存库的做法,如果直接存库的话,在高并发的情况下,关系型数据库(例如mysql)是支撑不起来的,所以通过 redis 当做缓存,保证高性能和高并发。一般在数据实时性要求不高的情况下这么做。

你是完全不准备动脑,全靠别人来给你解决问题?

clipboard.png

clipboard.png

宣传栏