この記事では、製品リストを定期的に更新するための PHP スクリプトを紹介します。これは、必要な友達に共有して、同時実行防止機能を向上させることができます。 -commerce プロジェクトでは、商品リストを更新する必要があります。キャッシュを更新するために使用されるスクリプトは次のとおりです。
//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);
それ以外の場合は、実際のアプリケーション中にロックする必要があります。 , スクリプトが完了していない場合、次回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 忽略日志输出
関連する推奨事項:
ローカルデータベースデータを読み取るための PHP スクリプト php スクリプトデーモンの原理と実装コード PHP スクリプトのタイムアウトメカニズムの詳細な説明以上がPHP スクリプトは製品リストを定期的に更新しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。