php - 如何将PHP数组转换成Mysql资源

标签 php mysql resources memcached

我有以下场景。我必须运行一个查询,然后将它保存到内存中,如果我需要再次从内存中获取相同的结果。

内存的存储和读取是用 memcache 实现的。问题是,如果您一次将信息保存在一个数组中,则只需处理两种情况:一种用于资源类型,另一种用于数组类型。

问题是我是否可以将数组转换为 Mysql 资源类型。

谢谢。

最佳答案

做这样的事情

<?php

$db = mysql_connect("localhost","foo_dbo","pass") or die("Database error");

mysql_select_db("foo_db", $db);

$sql = "select * from posts;";

$file = sprintf("%s.dat", md5($sql));

$result = mysql_query($sql);

if (!$result) die("Invalid query: " . mysql_error());

while ($row = mysql_fetch_assoc($result)) $data[]=$row;

mysql_free_result($result);
mysql_close($db);

if($fp=fopen($file,"w")){
    fwrite($fp,serialize($data));
    fclose($fp);
}

?>

然后读回数组做类似的事情

unserialize(file_get_contents($file))

很明显,您会使用内存缓存来存储序列化数据而不是文件系统

希望对你有帮助

关于php - 如何将PHP数组转换成Mysql资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3665145/

相关文章:

php - 计算与 id 相关的数据库行数

mysql - 比较 mysql 表以查看每个条目是否有可用记录

java - 我们如何动态地将数组从java文件添加到android中现有的xml文件中?

c++ - 从资源文件中使用directshow播放音频

resources - 个人代码库

php - Laravel 5.4 关系不起作用无法附加第二个参数

javascript - 如何更改动态元标记 |但在查看源代码中不起作用

JavaScript 函数未针对表单运行

java - 如何从 JavaScript 函数中检索 Java 变量?

mysql - Nodejs和mysql重复问题