我有一個數組,每次頁面加載時都會被查詢,所以我想盡量減少開銷並將數組存儲到會話變量中。數組文件目前爲15kb。我仍然需要爲每個陣列子密鑰添加約300個字。所以文件大小可能會增長到100kb到500kb之間的任何地方。只是一個猜測。將PHP數組存儲到會話變量中以最大化性能?
該數組用於存儲頁面數據,如標題,描述和發佈內容。
這是數組的結構:
11個主鍵。
在這些主鍵子鍵從1隨時隨地20.大多數具有約3至7
每個子鍵都有它自己的陣列title
,description
和post
。
標題和描述不能保留太多,但post
將保存約300字或更少。
數組中的值將保持靜態。
下面是每個下面有2個主鍵和2個子鍵的示例。
$pages = array(
'Administrator' => array(
'network-administrator' => array('title' => 'title info here', 'description' => 'description info here', 'post' => '<p>post info here - about 300 words.</p>'),
'database administrator' => array('title' => 'title info here', 'description' => 'description info here', 'post' => '<p>post info here - about 300 words.</p>'),
),
'Analyst' => array(
'business systems analyst' => array('title' => 'title info here', 'description' => 'description info here', 'post' => '<p>post info here - about 300 words.</p>'),
'data-analyst' => array('title' => 'title info here', 'description' => 'description info here', 'post' => '<p>post info here - about 300 words.</p>'),
),
);
我的問題是三部分。
1)我可以把它放到一個會話變量中,並且仍然能夠從會話數組中訪問數據,就像我直接從數組本身訪問數據一樣?
2)將數組放入會話中是否有任何好處,以減少在每次頁面加載時循環數組的開銷?
這是我從陣列
$content = $pages['Administrator']['network-administrator'];
$title = $content['title'];
$description = $content['description'];
$post = $content['post'];
3)訪問的值我現在訪問使用與上述相同的或寫入像這樣的數組值?
$pages = $_SESSION[$pages];
$content = $pages['Administrator']['network-administrator'];
$title = $content['title'];
$description = $content['description'];
$post = $content['post'];
需要一定的清晰度,感謝您的幫助。
你如何維護陣列可用atm? – TheWolf 2014-10-02 20:48:14
我看到的最大問題是空間效率。每個訪問您網站的用戶都會將相同的數據保存到磁盤上? – wavemode 2014-10-02 20:48:24
你爲什麼認爲這有助於表現?海事組織,除了你已經擁有的東西外,它還會把你陣列的其他副本加入會議。我看不出有什麼幫助。 – eis 2014-10-02 20:48:26