app开发者平台在数字化时代的重要性与发展趋势解析
660
2022-09-03
用php脚本,你如何定时更新商品列表
电商项目中为了提高抗并发能力,需要对商品列表做缓存,以下是更新缓存用的脚本:
//PRODUCTION_为缓存商品列表的临时key //PRODUCTION为缓存商品列表key $con = mysqli_connect($db_config['host'],$db_config['user'],$db_config['passwd'],$db_config['database']);
$redis = new Redis();
$redis->connect($redis_config['host']);
$redis->del(PRODUCTION_);
$sql = "select * from production ORDER BY created_at";
$result = mysqli_query($con,$sql);
$artimages = []; while($row = mysqli_fetch_assoc($result)){
$redis->lPush(PRODUCTION_,json_encode($row));
} /*
*之所以不直接更新到商品列表是因为当商品列表数据量比较大的时候,脚本执行的时间长,
*在del PRODUCTION之后 lPush PRODUCTION之前 用户访问网站的时候会出现读取不到
*商品列表的情况。
*先存入临时列表,再最后rename为实际被查询的key
*/ $redis->rename(PRODUCTION_,PRODUCTION);
上诉脚本只是一个demo,实际应用时需要加锁,否则在脚本未执行完,又到了crontab下一次自动执行的时候,就会出错。
以下是crontab脚本:
* * * * * root /usr/local/php/bin/php /xxx/xxxx/xxx/production.php >/dev/null 2>&1 root 是执行脚本的用户
/usr/local/php/bin/php php脚本解释器,如果不写全路径的话会报错
>/dev/null 2>&1 忽略日志输出
附crontab规则详细实例
1、每天6:00执行
0 6 * * * root /home/mvp/osyunwei.sh
2、每周六凌晨4:00执行
0 4 * * 6 root /home/mvp/osyunwei.sh
3、每周六凌晨4:05执行
5 4 * * 6 root /home/mvp/osyunwei.sh
4、每周六凌晨4:15执行
15 4 * * 6 root /home/mvp/osyunwei.sh
5、每周六凌晨4:25执行
25 4 * * 6 root /home/mvp/osyunwei.sh
6、每周六凌晨4:35执行
35 4 * * 6 root /home/mvp/osyunwei.sh
7、每周六凌晨5:00执行
5 * * 6 root /home/mvp/osyunwei.sh
8、每天8:40执行
40 8 * * * root /home/mvp/osyunwei.sh
9、每天8:30执行
30 8 * * * root /home/mvp/osyunwei.sh
10、每周一到周五的11:41开始,每隔10分钟执行一次 #值得借鉴
41,51 11 * * 1-5 root /home/mvp/osyunwei.sh
或者
1-59/10 12-23 * * 1-5 root /home/mvp/osyunwei.sh
11、在每天的10:31开始,每隔2小时重复一次
31 10-23/2 * * * root /home/mvp/osyunwei.sh
12、每天15:00执行
0 15 * * * root /home/mvp/osyunwei.sh
13、每天的10:30开始,每隔2小时重复一次
30 10-23/2 * * * root /home/mvp/osyunwei.sh
14、每天15:30执行
30 15 * * * root /home/mvp/osyunwei.sh
15、每天17:50执行
50 17 * * * root /home/mvp/osyunwei.sh
16、每天8:00执行
0 8 * * * root /home/mvp/osyunwei.sh
17、每天18:00执行
0 18 * * * root /home/mvp/osyunwei.sh
18、每天8:30执行
30 8 * * * root /home/mvp/osyunwei.sh
19、每天20:30
30 20 * * * root /home/mvp/osyunwei.sh
20、每周一到周五2:00
0 2 * * 1-5 root /home/mvp/osyunwei.sh
21、每周一到周五9:30
30 9 * * 1-5 root /home/mvp/osyunwei.sh
22、每周一到周五8:00,每周一到周五9:00
0 8,9 * * 1-5 root /home/mvp/osyunwei.sh
23、每天23:59
59 23 * * * root /home/mvp/osyunwei.sh
24、每周六23:59
59 23 * * 6 root /home/mvp/osyunwei.sh
25、每天0:30
30 0 * * * root /home/mvp/osyunwei.sh
26、每周一到周五9:25到11:35之间、13:00到15:00之间,每隔10分钟运行一次
分区段写值得借鉴
25,35,45,55 9 * * 1-5 root /home/mvp/osyunwei.sh
5-59/10 10 * * 1-5 root /home/mvp/osyunwei.sh
5,15,25,35 11 * * 1-5 root /home/mvp/osyunwei.sh
*/10 13-15 * * 1-5 root /home/mvp/osyunwei.sh
27、每周一到周五8:30、8:50、9:30、10:00、10:30、11:00、11:30、13:30、14:00、14:30、5:00分别执行一次
30,50 8 * * 1-5 root /home/mvp/osyunwei.sh
30 9 * * 1-5 root /home/mvp/osyunwei.sh
*/30 10-11 * * 1-5 root /home/mvp/osyunwei.sh
30 13 * * 1-5 root /home/mvp/osyunwei.sh
0,30 14-15 * * 1-5 root /home/mvp/osyunwei.sh
28、每天23:50执行
50 23 * * * root /home/mvp/osyunwei.sh
29、每天10:00、16:00执行
0 10,16 * * * root /home/mvp/osyunwei.sh
30、每天5:30执行
30 5 * * * root /home/mvp/osyunwei.sh
31、每周一到周五9:30执行
30 9 * * 1-5 root /home/mvp/osyunwei.sh
32、每周一到周五13:00执行
0 13 * * 1-5 root /home/mvp/osyunwei.sh
33、每天7:51执行
51 7 * * * root /home/mvp/osyunwei.sh
34、每天7:53、12:40分别执行一次
53 7 * * * root /home/mvp/osyunwei.sh
40 12 * * * root /home/mvp/osyunwei.sh
35、每天7:55执行
55 7 * * * root /home/mvp/osyunwei.sh
36、每天8:10、16:00、20:00分别执行一次
10 8 * * * root /home/mvp/osyunwei.sh
0 16 * * * root /home/mvp/osyunwei.sh
0 20 * * * root /home/mvp/osyunwei.sh
37、每天7:57、8:00分别执行一次
57 7 * * * root /home/mvp/osyunwei.sh
0 8 * * * root /home/mvp/osyunwei.sh
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~