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

首頁 > 開發 > PHP > 正文

php內存緩存實現程序代碼

2024-05-04 21:48:37
字體:
來源:轉載
供稿:網友

在php中緩存分為很多種類型如,內存緩存,文件緩存,頁面緩存本文章要來講述關于php中內存緩存的一些方法,下面我們介紹Memcached緩存和php自帶的APC緩存方法.

1.Memcached緩存。

memcached是高性能的分布式內存緩存服務器,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度,memcached 使用了“Key=>Value”方式組織數據,可以允許不同主機上的多個用戶同時訪問這個緩存系統,一般用于大型網站使用,memcached使用內存緩存數據,所以它是易失的,當服務器重啟,或者memcached進程中止,數據便會丟失,所以 memcached不能用來持久保存數據.

用過php_memcache的人都會覺得 PHP內存緩存是一個很復雜的東西,其實不然memcached 是高效、快速的分布式內存對象緩存系統,主要用于加速 WEB 動態應用程序.

這里介紹memcached在WIN32下的配置及其使用.

一、PHP內存緩存的配置,WIN32環境

1、下載php_memcache.rar

解壓壓縮包:php_memcache.rar

php_memcache.rar壓縮包里主包含的文件有:

/memcached-1.2.1-win32/memcached.exe

/php_memcache/php_memcache.dll

2、打開命令提示符,指向到memcached.exe所在路徑,運行memcached.exe -d start。

3、將php_memcache.dll文件拷貝到PHP的動態文件庫的文件夾下。

4、在php.ini文件中加入一行extension=php_memcache.dll。

5、重新啟動Apache,然后查看一下phpinfo,如果有memcache,那么就說明安裝成功!

例,代碼如下:

  1. <?php 
  2. //包含 memcached 類文件 
  3. require_once('memcached-client.php'); 
  4.  
  5. //選項設置 
  6. $options = array
  7.  'servers' => array('www.survivalescaperooms.com:11211'),//memcached 服務的地址、端口 
  8.  'debug' => true,//是否打開debug 
  9.  'compress_threshold' => 10240,//超過多少字節的數據時進行壓縮 
  10.  'persistant' => false//是否使用持久連接 
  11.  ); 
  12.  
  13. //實例化memcached對象 
  14. $memcached = new memcached($options); 
  15.  
  16. $sql = 'SELECT * FROM table1'
  17. $key = md5($sql); 
  18.  
  19. //如果在memcached中沒有緩存數據,把緩存數據寫入memcached 
  20. if(!($datas = $memcached->get($key))) 
  21.  $conn = mysql_connect('localhost''hxsd''123456'); 
  22.  mysql_select_db('hxsd'); 
  23.  $result = mysql_query($sql); 
  24.  while($row = mysql_fetch_object($result)) 
  25.  { 
  26.   $datas[] = $row
  27.  } 
  28.  //將數據庫中獲取到的結果集數據保存到 memcached 中,以供下次訪問時使用。 
  29.  $memcached->add($key$datas); 
  30. else 
  31.  //直接使用memcached中的緩存數據$datas 
  32. ?> 

內存緩存二,APC、EC、Zend加速器的比較

一、APC

APC,全稱是Alternative PHP Cache,官方翻譯叫”可選PHP緩存”,主頁是 http://pecl.php.net/package/apc,php幫助手冊頁面: http://cn.php.net/apc

APC是個優化器,自安裝之日起,就默默地在后臺為您的PHP應用服務了.您的所有PHP代碼會被緩存起來,針對php opcode.

另外,APC可提供一定的內存緩存功能.但是這個功能并不是十分完美,有報告說如果頻繁使用APC緩存的寫入功能,會導致不可預料的錯誤.如果想使用這個功能,可以看看apc_fetch,apc_store等幾個與apc緩存相關的函數.

安裝,代碼如下:# pecl install APC

配置:/etc/php.inc,代碼如下:

extension=apc.so

  1. [apc] 
  2. apc.enabled = 1 
  3.  
  4. apc.shm_segments = 1 
  5.  
  6. apc.shm_size = 30 
  7.  
  8. apc.optimization = 0 
  9.  
  10. apc.ttl = 7200 
  11.  
  12. apc.user_ttl = 7200 
  13.  
  14. apc.num_files_hint = 1000 
  15.  
  16. apc.mmap_file_mask = /tmp/apc.XXXXXX

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会宁县| 敦化市| 涞水县| 辽源市| 建阳市| 枣阳市| 洛阳市| 宜春市| 曲阜市| 晋城| 新乐市| 庆安县| 通河县| 宕昌县| 成武县| 长宁区| 鄂州市| 阳高县| 鸡西市| 广丰县| 中江县| 东丰县| 兰州市| 运城市| 根河市| 安陆市| 出国| 扬州市| 杭锦后旗| 北安市| 开阳县| 灵川县| 磴口县| 南涧| 泰宁县| 平潭县| 华亭县| 宣武区| 楚雄市| 区。| 句容市|