Php 缓存SQL查找和检索数据

Php 缓存SQL查找和检索数据,php,sql,file-get-contents,file-put-contents,Php,Sql,File Get Contents,File Put Contents,我正在尝试设置邮政编码查找的缓存,它使用以下命令将结果查找添加到文本文件中: file_put_contents($cache_file, $postcode."\t".$result."\n", FILE_APPEND); 我希望能够在运行查询之前检查此文件,我使用以下方法完成了此操作: if( strpos(file_get_contents($cache_file),$postcode) !== false) { // Run function } 我想做的是,在上面的文本文件中搜

我正在尝试设置邮政编码查找的缓存,它使用以下命令将结果查找添加到文本文件中:

file_put_contents($cache_file, $postcode."\t".$result."\n", FILE_APPEND);
我希望能够在运行查询之前检查此文件,我使用以下方法完成了此操作:

if( strpos(file_get_contents($cache_file),$postcode) !== false) {
  // Run function
}
我想做的是,在上面的文本文件中搜索$postcode with,并返回$result上的数据

首先,这可能吗


其次,这是缓存SQL查找的一种好方法吗?

1是的,这是可能的-最简单的方法是将查找数据存储在数组中,并使用serialize/unserialize从文件中写入/读取

2是一个更有趣的问题。这实际上取决于您的数据、结构、数量等

在我看来,缓存会增加应用程序的复杂性,因此如果可能,请避免:-

您可以尝试:

优化SQL查询或数据库结构以加快请求邮政编码数据的速度。 通常情况下,数据库速度相当快,因此适合此类用例

我不确定您正在运行哪个数据库,但对于MySQL,请查看。或者,作为另一个关键字,您可以搜索索引,这会增加查询量

文件获取内容的速度非常快,但是当您更改文件时,可能会考虑其他缓存方式,例如将其存储在内存中


似乎这是更容易使用CSV。。。很抱歉延迟了回复,我确实实现了一种缓存形式,但是速度的提高是微不足道的,所以在本例中可能不值得。非常感谢您抽出时间回复!谢谢
$lookup_codes = array(
    '10101' => 'data postcode 1 ...',
    '10102' => 'data postcode 2 ...',
    // ...
);

file_put_contents($cache_file, serialize($lookup_codes));
$lookup_codes = unserialize(file_get_contents($cache_file));

$postcode = '10101';
if(array_key_exists($postcode, $lookup_codes)){
 // ... is available
}