国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php memcached安裝與使用

2024-05-04 21:48:09
字體:
來源:轉載
供稿:網友
1.簡介

memcache模塊是一個高效的守護進程,提供用于內存緩存的過程式程序和面向對象的方便的接口,特別是對于設計動態web程序時減少對數據庫的訪問.memcache也提供用于通信對話(session_handler)的處理.

1.1.memcache在php.ini中的配置項列表 memcache在php.ini中的配置項列表 

名稱 默認值 是否可變 改變日志

  1. memcache.allow_failover  
  2. “1”  
  3. php_ini_all  
  4. available since memcache 2.0.2. 
  5.  
  6. memcache.max_failover_attempts  
  7. "20"  
  8. php_ini_all  
  9. available since memcache 2.1.0. 
  10.  
  11. memcache.chunk_size  
  12. "8192"  
  13. php_ini_all  
  14. available since memcache 2.0.2. 
  15.  
  16. memcache.default_port  
  17. "11211"  
  18. php_ini_all  
  19. available since memcache 2.0.2. 
  20.  
  21. memcache.hash_strategy  
  22. "standard"  
  23. php_ini_all  
  24. available since memcache 2.2.0. 
  25.  
  26. memcache.hash_function  
  27. "crc32"  
  28. php_ini_all  
  29. available since memcache 2.2.0. 
  30.  
  31. session.save_handler  
  32. "files"  
  33. php_ini_all  
  34. supported since memcache 2.1.2 
  35.  
  36. session.save_path  
  37. ""  
  38. php_ini_all  
  39. supported since memcache 2.1.2 ////開源代碼Vevb.com 

有關 php_ini_* 常量進一步的細節與定義參見php手冊php.ini 配置選項.下面摘一段代碼,給大家一個直觀的印象:(假設memcached安裝在172.10.10.10上面,端口號12121):

  1. $memcache = new memcached(); 
  2. $memcahce->connect('172.10.10.10', 12121); 
  3. $memcache->set('key''value');//開源代碼Vevb.com 
  4. $memcache->get('key'); 

上面的主要完成了memcached的簡單操作流程:連接memcached服務器,設置值,取值('key'的值是'value');

這里需要向大家說明一下addserver函數和connect函數,addserver是將多個服務器放在連接池,而connect只是將連接某一臺服務器,如果在使用了addserver,再使用connect,這里就會只使用一臺服務器,以下代碼是簡單模擬的客戶端操作:

  1. $fp = fsocketopen('172.10.10.10', 12121, $errorno$errstr, 1); 
  2. if(!$fp
  3.   echo "$errstr"
  4. else 
  5.   $out = "get key rn"
  6.   fwrite($out); 
  7.   while(!feof($fp)) 
  8.     $str  . = fgets($fp); 
  9.   if(stripos($str'end') ===0)//開源代碼Vevb.com 
  10.     exit("no value find"
  11.   $arr = implode('rn'$str); 
  12.   echo $arr[1]; 

簡單解釋上面的代碼,使用fsocketopen打開服務器的socket通訊接口,然后向其發送get key命令,然后獲取返回的數據,并解析返回的數據,這里都沒有做異常的處理,在編程的時候要填 memcached 是一個鍵值存儲系統,它將關鍵數據存儲在內存中,大大減少存取數據的時間,使用memcached的好處不言而喻,它不僅減少了系統訪問數據庫的壓力,而且提高系統的反應速度,至于什么樣的系統需要使用memcache,筆者建議數據量大,訪問頻繁系統可以采取memcached作為緩存的中間層.

使用memcached的缺點除了增加程序的代碼量,還有就是不能保證數據庫的實時性,另外在第一次初始化數據庫會需要額外的時間,但是這些的缺點比起它的優點是很微不足道.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高碑店市| 遵化市| 竹北市| 阳曲县| 咸丰县| 梨树县| 资源县| 西峡县| 淮安市| 霞浦县| 延川县| 盐源县| 隆德县| 永丰县| 桃江县| 分宜县| 普宁市| 闵行区| 九龙县| 苗栗县| 资阳市| 洪江市| 二连浩特市| 湾仔区| 休宁县| 富宁县| 金湖县| 抚顺县| 华容县| 塘沽区| 郴州市| 廊坊市| 阿克苏市| 平原县| 东山县| 从江县| 启东市| 博湖县| 东平县| 宝清县| 科尔|