[請益] 替代session的方案

看板PHP作者 (Song6.Lin)時間16年前 (2008/06/14 10:52), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/2 (看更多)
我在寫一個查字典的程式, 有用到ajax + php的 a.php會把送訊息給b.php 程式簡化後,大概長這樣 _______________________________________________ a.php <a href="b.php?op=load>load</a> <a href="b.php?op=find_word&param=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

06/14 11:35, , 1F
為什麼要用session?
06/14 11:35, 1F

06/14 11:45, , 2F
想要把b.php的變數一直保存起來
06/14 11:45, 2F

06/14 11:46, , 3F
普通變數,第二次想要查詢的時候之前載入的資料就不見了
06/14 11:46, 3F

06/14 11:46, , 4F
hsn大大有什麼好方法嗎
06/14 11:46, 4F

06/14 13:26, , 5F
用 database 吧, 小型的用 sqlite 不錯..
06/14 13:26, 5F

06/14 14:52, , 6F
謝謝各位的建議~~~問題已改善:)
06/14 14:52, 6F
文章代碼(AID): #18Kp9JCV (PHP)
文章代碼(AID): #18Kp9JCV (PHP)