0

プルされたデータをキャッシュし、15 ~ 30 分後にのみ更新するために使用する関数を知りたいと思いました。

これは、mysql から Web サイトにデータをプルする php スクリプトです。

<?php
include('mysql_connection.php');

$c = mysqlConnect();

$locale = $_GET['locale'];
$last_bulletins_id = $_GET['bulletins_id'];

sendQuery ("set character_set_results='utf8'"); 
sendQuery ("set collation_connection='utf8_general_ci'"); 

if(strcmp($locale,"en") != 0)
$locale = "en";
$result = sendQuery("
SELECT bulletins.id, posted_date, message, name
FROM bulletins 
LEFT JOIN players ON (bulletins.player_id = players.user_id)
WHERE bulletins.id > ".$last_bulletins_id." and locale = '".$locale."' 
ORDER BY bulletins.id DESC 
LIMIT 10");
echo '<table width=\"100%\">';
while($row = mysql_fetch_array($result, MYSQL_NUM))
{
    echo '<tr><td width=\"100%\"><b>Date: </b>'.$row[1].'</td></tr>';
    echo '<tr><td width=\"100%\"><b>Author: </b>'.$row[3].'</td></tr>';
    echo '<tr><td width=\"100%\">'.nl2br($row[2]).'</td></tr>';
    echo '<tr><td width=\"100%\"><hr style="height: 2px; border: none; background: #515151;"></td></tr>';
}
echo '</table>';    

mysqlClose($c);

?>

4

1 に答える 1

0

キャッシュファイルに出力したデータを書き込んで、ファイルの最終変更からの経過時間を確認し、キャッシュファイルをロードするか、データベースにクエリを実行して、設定した制限よりも大きい場合は新しい結果を出力する必要があります。これらの機能はあなたに便利です:

file-put-contents

filemtime

触る

ファイルが存在しています

于 2012-12-01T11:34:11.233 に答える