首頁 後端開發 php教程 memcached 怎么使用

memcached 怎么使用

Jun 13, 2016 am 10:53 AM
mem memcache memcached quot

memcached 如何使用?
我在做一个在线答题系统,在同一界面刷新题目,每点击下一题刷新一题,
过程:1从数据库中取题(取完之后$db->close()),2点下一题。重复1,2两步直到题目答完。
这样的话就相当于每取出一个题都要连接一次数据库,经同学建议可以把数据存到memcached中
这样就可以减少对数据库的连接次数。
我想问的是在什么位置把memcached类放进去才能达到效果?
比如取第一题
首先我要连接数据库
然后把题取出来
while($row=mysql_fetch_array($result){
  $question[]=$row[question];
}//到这里为止所有的题目就都取出来了
$mem = new Memcache; //我把memcache类放在数据库取值的后面了
$mem->connect("127.0.0.1", 11211);
$mem->set("key",$question);
$question=$mem->get("key");
$db->close();
然后问题来了
1.怎么样才能保证只是第一次取题的时候连接数据库并把所有的数据都赋给memcache类中的$question像我这样写的话虽然把值赋给了memcache,但是点击下一题时,仍然相当于连接了数据库.
2.在读出第一题后我就把数据库连接的类给注释掉了,我想的是因为读第一题的时候因为已经把题目赋给缓存了,所以不需要数据库的连接了。但是点下一题的时候什么都没读出来,那么我读第一题时给缓存赋的值哪里去了?难道页面刷新会使缓存中的值丢失吗?
我觉得肯定是我使用memcached方法不正确,这个类应该放在什么位置才能减少数据库的连接次数,希望使用过的人给我一些思路

------解决方案--------------------
你这上面的代码等于每次都读数据库,然后把值写入缓存,应该在读数据库之前if(false == $mem->get("key")),这样当key存在的时候就不会连接数据库重新设置set了
------解决方案--------------------
这个次序

PHP code
$mem = new Memcache; $mem->connect("127.0.0.1", 11211);if(! $mem->get("key")) {  //数据库连接查询的代码  while($row=mysql_fetch_array($result){    $question[]=$row[question];  }//到这里为止所有的题目就都取出来了  $mem->set("key",$question);}$question=$mem->get("key");<div class="clear">
                 
              
              
        
            </div>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用PHP開發中的Memcache? 如何使用PHP開發中的Memcache? Nov 07, 2023 pm 12:49 PM

在Web開發中,我們經常需要使用快取技術來提高網站的效能和回應速度。 Memcache是​​一種流行的快取技術,它可以快取任何資料類型、支援高並發和高可用性。本文將介紹如何使用PHP開發中的Memcache,並提供具體程式碼範例。一、安裝Memcache要使用Memcache,我們首先需要在伺服器上安裝Memcache擴充。在CentOS作業系統中,可以使用以下命令

如何使用Memcached快取技術優化PHP應用程式CPU的使用率? 如何使用Memcached快取技術優化PHP應用程式CPU的使用率? Jun 21, 2023 pm 05:07 PM

隨著互聯網的發展,PHP應用程式在網路應用領域中變得越來越常見。但是,PHP應用程式的高並發存取會導致伺服器的CPU使用率高,進而影響應用程式的效能。為了優化PHP應用程式的效能,Memcached快取技術成為了一個很好的選擇。本文將介紹如何使用Memcached快取技術最佳化PHP應用程式CPU的使用率。 Memcached快取技術簡介Memcached是一

PHP開發中如何使用Memcache進行高效率的資料讀寫操作? PHP開發中如何使用Memcache進行高效率的資料讀寫操作? Nov 07, 2023 pm 03:48 PM

在PHP開發中,使用Memcache快取系統可以大幅提高資料讀寫的效率。 Memcache是​​一種基於記憶體的快取系統,它可以將資料緩存在記憶體中,避免頻繁的讀寫資料庫。本文將介紹如何在PHP中使用Memcache進行高效率的資料讀寫操作,並提供具體的程式碼範例。一、安裝和設定Memcache首先,需要在伺服器上安裝Memcache擴充。可以透過

PHP開發中如何使用Memcache進行高效率的資料寫入與查詢? PHP開發中如何使用Memcache進行高效率的資料寫入與查詢? Nov 07, 2023 pm 01:36 PM

PHP開發中如何使用Memcache進行高效率的資料寫入與查詢?隨著網路應用的不斷發展,對於系統效能的要求越來越高。在PHP開發中,為了提高系統的效能和反應速度,我們經常使用各種快取技術。而其中一個常用的快取技術就是Memcache。 Memcache是​​一種高效能的分散式記憶體物件快取系統,可以用來快取資料庫查詢結果、頁面片段、會話資料等。透過將資料儲存在內存

PHP開發中如何使用Memcache進行分散式快取? PHP開發中如何使用Memcache進行分散式快取? Nov 07, 2023 pm 03:04 PM

隨著Web應用程式的日益複雜,效能也成為了一個關鍵問題。在許多應用程式中,資料庫查詢是最耗費時間的操作之一。為了避免頻繁地從資料庫中讀取數據,可以使用快取系統,將經常讀取的數據儲存在記憶體中,以便快速的存取。在PHP開發中,使用Memcached進行分散式快取是一個極為常見的做法,在本文中我們將介紹如何使用Memcached進行分散式快取。什麼是Memca

如何使用Memcache優化你的PHP應用中的資料儲存操作? 如何使用Memcache優化你的PHP應用中的資料儲存操作? Nov 08, 2023 pm 09:06 PM

如何使用Memcache優化你的PHP應用中的資料儲存操作?在網路應用開發中,資料儲存是一個至關重要的環節。而在PHP應用中,Memcache作為一種記憶體快取系統,可以有效提升資料儲存和讀取操作的效率。本文將介紹如何使用Memcache優化PHP應用中的資料儲存操作,並附上具體的程式碼範例。第一步:安裝Memcache擴充首先,你需要在PHP環境中安裝Me

PHP開發中如何使用Memcache實現高效的資料快取和排序操作? PHP開發中如何使用Memcache實現高效的資料快取和排序操作? Nov 07, 2023 pm 02:28 PM

PHP是一種十分流行的程式語言,常用於伺服器端的Web應用程式開發。隨著Web應用程式使用者規模的不斷增長以及資料量的不斷增大,高效的資料快取和排序操作變得越來越重要。在這種情況下,Memcache是​​一種非常有用的工具。本文將介紹如何在PHP開發中使用Memcache實現高效的資料快取和排序操作,並提供具體的程式碼範例。什麼是Memcache? Memcache是

使用寶塔面板進行Redis、Memcached等快取伺服器的部署 使用寶塔面板進行Redis、Memcached等快取伺服器的部署 Jun 21, 2023 am 09:56 AM

隨著網路的發展,快取技術在Web開發中扮演越來越重要的角色。 Redis和Memcached作為兩種流行的快取伺服器,被廣泛應用於各種網路應用開發中。然而,對於不熟悉Linux系統的開發人員來說,安裝和設定這些快取伺服器可能會帶來一些麻煩。但是,在寶塔面板的幫助下,這個過程將變得相當簡單。一、什麼是寶塔面板?寶塔面板是一款Linux伺服器管理面板,它可以

See all articles