<?php function getCache($key) { $cacheFile = 'cache/' . md5($key) . '.json'; // 使用 md5 生成唯一的文件名 if (file_exists($cacheFile)) { $data = json_decode(file_get_contents($cacheFile), true); // 检查缓存是否过期(例如,设置过期时间为 1 小时) if (time() - $data['timestamp'] < 3600) { return $data['content']; // 返回缓存内容 } else { unlink($cacheFile); // 删除过期缓存 } } return false; // 缓存不存在或已过期 } function setCache($key, $content) { $cacheFile = 'cache/' . md5($key) . '.json'; // 使用 md5 生成唯一的文件名 $data = [ 'timestamp' => time(), 'content' => $content, ]; file_put_contents($cacheFile, json_encode($data)); // 将数据写入缓存文件 } function hotbookwriter($num = null) { global $empire, $dbtbpre, $class_r; if (!$num) { $num = 12; } // 检查缓存是否存在 $cacheKey = "hotbookwriter_" . $num; $cachedResult = getCache($cacheKey); if ($cachedResult) { return $cachedResult; // 如果缓存存在,直接返回 } $xxx = []; $sql = "SELECT id, classid, titleurl, title, writers FROM phome_ecms_sinfo ORDER BY newstime LIMIT $num"; $sqls = $empire->query($sql); while ($dd = $empire->fetch($sqls)) { $titleurl = htmlspecialchars($dd["titleurl"]); $title = htmlspecialchars($dd["title"]); $author = htmlspecialchars($dd["writers"]); $auurl = user_ReturnWriterStr1($dd['id'], $dd['classid'], $dd['writers']); $xxx[] = '<li><a href="' . $titleurl . '">' . $title . '</a><a class="gray" href="' . $auurl . '">' . $author . '</a></li>'; } $result = implode('', $xxx); // 将结果存入缓存 setCache($cacheKey, $result); return $result; }
标签:缓存,titleurl,title,数据库,num,result,cms,dd From: https://www.cnblogs.com/pyforseo/p/18670850