php商品列表,php脚本定时更新商品列表

这篇文章主要介绍的内容是关于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 忽略日志输出

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值