gpt4 book ai didi

php - 将数组添加到内存缓存

转载 作者:行者123 更新时间:2023-12-02 07:12:16 24 4
gpt4 key购买 nike

这是我使用内存缓存“存储”mysql 查询的代码

$mem = new Memcache;
$mem->connect('127.0.0.1', 11211);

$query = "SELECT * FROM tbl limit 0,20 ";
$key = md5($query);

$get_data = $memcache->get($key);

if($get_data) {
echo 'Data Pulled From Cache';
} else {
$res = mysql_fetch_array(mysql_query($query));
$memcache->set($key, $res, TRUE, 3600);
}

问题是内存缓存只存储查询返回的第一行。如何在 memcache 的一个键中保存所有 20 行?

最佳答案

声明

$res = mysql_fetch_array(mysql_query($query);

只从查询结果中获取一行。

尝试像这样在将结果存储在缓存中之前获取整个结果:

$res = array();
$qres = mysql_query($query);
while($a = mysql_fetch_array($qres, MYSQL_ASSOC))
$res[] = $a;
mysql_free_result($res);

$memcache->set($key, $res, TRUE, 3600);

关于php - 将数组添加到内存缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4747190/

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