很难解释所以我只会说出我拥有的和我需要的东西
当用户访问任何页面时,我从mysql(每次)生成3个包含数据(大量数据)的数组。我需要这个用于页面标题中的选择选项
字符串总数~4000
$一个[1] [ '名称'] = “balallbal”;
$ a [1] ['desc'] =“balallbal desc”;
$ a [4000] ['name'] =“balallbal 4000”;
$ a [4000] ['desc'] =“balallbal desc 4000”;
我可以以某种方式存储此数据实例或smth所以当用户转到另一个页面时,它将使用存储的数据而不是查询mysql
答案 0 :(得分:1)
是的,你可以。你必须使用$ _SESSION。 $ _SESSIONs通过页面存储数据,直到用户关闭浏览器。
这样做:
if($_SESSION['data-query'] == '')
{
$data_array = get_data_from_db();
$_SESSION['data-query'] = true; // to prevent the next data query
$_SESSION['cat-data'] = $data_array;
}
或者您可以使用count($_SESSION['cat-data']) == 0
代替'数据查询`(如评论中所述)
答案 1 :(得分:1)
您可能想尝试memcache。当用户第一次请求进入时,将结果存储在memcache中,对于下一个后续请求,您可以从memcache中提取数据,而不是查询sql。 此外,数据存储在缓存中的时间是可配置的。 http://in1.php.net/memcache
答案 2 :(得分:0)
使用$ _SESSION变量,它会在用户浏览网站时保留您的数据。
http://www.php.net/manual/en/features.sessions.php
检查此变量是否存在,并将数据放在代码的开头(例如start.php,init.php,header.php。将其包含在所有页面中)。如果不是 - 用mysql查询填充一次,而不是在其他页面上使用$ _SESSION。