//连接数据库
$pdo = new PDO('mysql:host=localhost;dbname=study', 'root', '');
//连接redis
$redis = new Redis();
$redis->connect("127.0.0.1", 6379);
//接收文章的id
$id = $_GET['id'];
//拼key
$key = "news_click_" . $id;
//根据key去内存读
$clicknum = $redis->get($key);
//判断内存中是否存在
if ($clicknum === false) {
//内存中没有
//不存在,去表中读出,写入在内存中
$sql = "select clicknum from tedu_news where id=$id";
$pdoS = $pdo->query($sql);
$arr = $pdoS->fetch(PDO::FETCH_ASSOC);
$clicknum = $arr['clicknum'] + 1;
$redis->set($key, $clicknum);
} else {
//如果存在自增1,判断是否5的倍数,是5的倍数存入数据库中
$clicknum = $redis->incrBy($key, 1);
if ($clicknum % 5 == 0) {
$sql = "update tedu_news set clicknum=$clicknum where id=$id";
$pdo->exec($sql);
}
}
//显示 echo "document.write('{$clicknum}')"
echo "document.write('{$clicknum}')";
07-02
08-01
07-13
07-13
07-13
07-13
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交