gpt4 book ai didi

php - 缓存mysql查询结果?

转载 作者:行者123 更新时间:2023-11-29 09:10:23 25 4
gpt4 key购买 nike

我在页面上使用多个 mysql 查询,使用 mysqli 准备语句从多个表中获取数据。

假设我在一个页面上有大约 20 个来自数据库表的查询。由于查询如此之多,我想通过将结果存储在缓存中几分钟来提高性能?这是个好主意吗?如果是,我如何使用缓存存储结果,例如以下查询?

$city = "Amersfoort";

if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
$stmt->bind_param("s", $city);
$stmt->execute();
$stmt->bind_result($district);
$stmt->fetch();
printf("%s is in district %s\n", $city, $district);
$stmt->close();
}

谢谢。

最佳答案

如果 SQL 语句的处理成本很低,您可能不需要缓存它们。如果它们需要大量计算或在非常大的数据集上运行,您可能需要缓存。请记住,缓存需要比 SQL 查询更快。

PHP 中有多种缓存方式:

  • 文件缓存,序列化数据并将其存储到一个类似于查询哈希的文件中。请记住,获得缓存生命周期、并发访问等信息是很困难的 - 因此请考虑使用一个可以实现这一点的库,即 PEAR 的 CacheCache_Lite
  • memcached
  • 共享内存作为缓存,即通过使用 APC 函数,如 apc_add

您可能还希望缓存整个页面或页面的部分内容,而不是单个查询。

关于php - 缓存mysql查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5773921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com