我有个 test.php
伪代码 把redis的数据同步到数据库中
while(true){
$redis->lpop(key);
Db::insert();
}
我想请问下 我使用 php test.php 命令行执行
与linux 中通过定时器执行有什么不同 假设抛开定时器每分钟来说
如果是这样的话 还要redis干嘛呢 直接写入数据库不也一样吗
我有个 test.php
伪代码 把redis的数据同步到数据库中
while(true){
$redis->lpop(key);
Db::insert();
}
我想请问下 我使用 php test.php 命令行执行
与linux 中通过定时器执行有什么不同 假设抛开定时器每分钟来说
如果是这样的话 还要redis干嘛呢 直接写入数据库不也一样吗
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
一般的场景是,
redis
队列中的数据是随时push进来的,那么我们可以通过crontab
定时执行脚本,可以保证redis
队列中的数据不堆积,能够及时的pop
出来并存库。这就是一般的异步存库的做法,如果直接存库的话,在高并发的情况下,关系型数据库(例如mysql)是支撑不起来的,所以通过redis
当做缓存,保证高性能和高并发。一般在数据实时性要求不高的情况下这么做。