我使用Simple PHP File Cache类。我使用MySQL
方法将数据集(添加PHP loops
结果)添加到foreach
中,如下所示:
PHP代码:
$c = new Cache();
foreach($_POST['audio'] as $audio){
SQL::put("INSERT INTO " . NEWS_FILES . " (news_id, url, type) VALUES (?, ?, ?)", $id, $audio,"audio");
$c->store($id, array(
'action' => array(
$id, $video,"audio")
));
}
导致缓存文件:
{"202":{"time":1410452801,"expire":0,"data":{"action":[202,"http:\/\/localhost\/user\/uploads\/files\/1\/thumbs\/1\/audio\/download-kid-photo-c.jpg","audio"]}}}
现在,我有4个ID为202的文件,但是缓存类在文件中仅插入一个文件。缓存类不适用于循环!!如何解决这个问题?
类文件HERE
最佳答案
这是由覆盖缓存中的标识符引起的。
就像nosql键值存储一样。密钥应为唯一标识符。
你有:
202 => file1,
202 => file2,
202 => file3,
202 => file4
而且不可能通过标识符获取每个文件。
它看起来应该像:
201 => file1,
202 => file2,
203 => file3,
204 => file4