作者Song6Lin (Song6.Lin)
看板PHP
標題[請益] 替代session的方案
時間Sat Jun 14 10:51:59 2008
我在寫一個查字典的程式,
有用到ajax + php的
a.php會把送訊息給b.php
程式簡化後,大概長這樣
_______________________________________________
a.php
<a href="b.php?op=load>load</a>
<a href="b.php?op=find_word¶m=test>find</a>
_______________________________________________
_______________________________________________
b.php
$ret = "";
if ("load" == $_GET['op']) {
session_start();
// 把字典檔的內容載入$_SESSION['DICTS']內。
$_SESSION['DICTS'] = Load("dict.dic");
}
else if ("find_word" == $_GET['op']) {
session_start();
// 從$_SESSION['DICTS']中去找尋$_GET['param']的中文解釋。
$ret = Find($_SESSION['DICTS'], $_GET['param']);
}
echo $ret;
_______________________________________________
主要是執行a.php, 然後向b.php發送要求,b.php回傳。
想把字典檔("dict.dic")讀取之後的內容存在某個array之中,
希望之後那個array variable一直存在,
第二次之後查詢就可以快速很多。
因為每次都去重新讀取檔案,再去查詢,蠻耗時間的。
目前是用了$_SESSION的方式,可以正確讀取,
第一次載入字典檔,第二次查詢字典檔,結果是正確的,array有保存下來。
但是效率....很差....好像是因為$_SESSON['DICTS']太大的關係,
session_start()就耗了相當大的時間。
請教板上各位大大,有沒有替代的方案可以把效能提高呀?
或是有更好的方法嗎? 感恩~~
--
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.217.181
→ hsnucsc:為什麼要用session? 06/14 11:35
→ Song6Lin:想要把b.php的變數一直保存起來 06/14 11:45
→ Song6Lin:普通變數,第二次想要查詢的時候之前載入的資料就不見了 06/14 11:46
→ Song6Lin:hsn大大有什麼好方法嗎 06/14 11:46
→ kylekai:用 database 吧, 小型的用 sqlite 不錯.. 06/14 13:26
→ Song6Lin:謝謝各位的建議~~~問題已改善:) 06/14 14:52