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

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

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

阅读 2.1k
2 个回答

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

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

clipboard.png

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题