成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用PHP創建Memcached數據庫客戶端

數據庫 其他數據庫 數據庫運維
本文將為大家解釋的是PHP環境下如何操作Memcached數據庫的相關數據,這也是Web高性能開發的一部分。

Memcached 是一個鍵值存儲系統,它將關鍵數據存儲在內存中,大大減少存取數據的時間。使用Memcached的好處不言而喻,它不僅減少了系統訪問數據庫的壓力,而且提高系統的反應速度。至于什么樣的系統需要使用memcache,筆者建議數據量大,訪問頻繁系統可以采取Memcached作為緩存的中間層。

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

PHP帶有操作Memcached的擴展,它提供一組函數來操作Memcached服務器,將他們簡單分一下類:

1。Memcached的連接函數(connect, pconnect)

2。memcahced的操作函數(set, get, delete, replace, flush)

3。多服務器配置函數(addServer)

4。狀態監控函數(getStats.....)

下面摘一段代碼,給大家一個直觀的印象:(假設Memcached安裝在172.10.10.10上面,端口號12121)

 

  1. $memcache = new Memcached();  
  2. $memcahce->connect('172.10.10.10', 12121);  
  3. $memcache->set('Key''Value');  
  4. $memcache->get('Key'); 

 

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

這里需要向大家說明一下addServer函數和connect函數,addServer是將多個服務器放在連接池,而connect只是將連接某一臺服務器;如果在使用了addServer,再使用connect,這里就會只使用一臺服務器。

介紹了Memcached的使用后,下面向大家介紹如何編寫自己的PHP Memcached的客戶端

Memcached是一個服務器端程序,我們自然可以使用PHP中的套接字程序來連接,并進行相應的通訊,完成數據的存儲操作。要使用PHP和Memcached通訊,首先需要知道Memcached的通訊協議,相關的信息可以在Memcached的源碼的doc/protocol.txt中找到。

這里筆者使用get命令向大家展示一下這個過程

這個命令主要是從數據中提取數據,輸入格式: get key\r\n

如果服務器沒有這個值,則返回: END\r\n

如果這個值存在,返回: VALUE key <標記> <數據長度> \r\n 數據塊\r\n

以下代碼是簡單模擬的客戶端操作

 

  1. $fp = fsocketopen('172.10.10.10', 12121, $errorno$errstr, 1);  
  2. if(!$fp)  
  3.   echo "$errstr";  
  4. else 
  5. {  
  6.   $out = "get key \r\n";  
  7.   fwrite($out);  
  8.   while(!feof($fp))  
  9.     $str  . = fgets($fp);  
  10.   if(stripos($str'END') ===0)  
  11.     exit("NO value find")  
  12.   $arr = implode('\r\n'$str);  
  13.   echo $arr[1];  

 

簡單解釋上面的代碼,使用fsocketopen打開服務器的socket通訊接口,然后向其發送get key命令, 然后獲取返回的數據,并解析返回的數據。這里都沒有做異常的處理,在編程的時候要填上。

[[12830]]

延伸閱讀

Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協議與守護進程通信。但是它并不提供冗余(例如,復制其hashmap條目);當某個服務器S停止運行或崩潰了,所有存放在S上的鍵/值對都將丟失。

Memcached由Danga Interactive開發,用于提升LiveJournal.com訪問速度的。LJ每秒動態頁面訪問量幾千次,用戶700萬。Memcached將數據庫負載大幅度降低,更好的分配資源,更快速訪問。

原文標題:使用php操作memcached

鏈接:http://www.cnblogs.com/kucongzhi/archive/2010/07/11/1775275.html

【編輯推薦】

  1. 專題:MySQL從入門到精通教程
  2. MySQL在太陽下茁壯 在開源中強大
  3. 分布式緩存系統memcached簡介與實踐
  4. 從memcached看MySQL和關系數據庫的未來
責任編輯:彭凡 來源: 博客園
相關推薦

2009-11-25 13:21:30

PHP作為memcac

2013-06-05 09:38:22

HeidiSQL

2011-09-27 10:05:57

DBeaver數據庫

2010-08-18 09:52:25

Memcache

2011-06-28 09:09:57

JavaMemcached

2011-08-17 10:10:59

2020-03-19 08:00:00

客戶端KubernetesAPI

2022-05-16 07:37:58

SQL 編輯器數據庫管理工具

2012-10-11 17:02:02

IBMdw

2010-05-12 15:46:51

Subversion客

2010-03-19 13:05:11

Perst Lite

2011-03-21 14:53:36

Nagios監控Linux

2011-04-06 14:24:20

Nagios監控Linux

2011-05-24 16:47:20

數據存儲

2014-01-07 14:39:26

Android開發RxJavaREST

2012-01-13 10:29:37

ibmdw

2020-04-23 09:32:33

zookeeperCP系統

2010-06-01 13:54:42

TortoiseSVN

2011-04-06 14:24:27

Nagios監控Linux

2010-05-26 09:26:43

Cassandra
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线观看黄 | 91精品国产综合久久久亚洲 | 国产精品伦理一区 | 国产一区二区三区视频免费观看 | 欧美久久不卡 | 免费毛片www com cn | 久久久美女 | 亚洲乱码国产乱码精品精98午夜 | 国产一区二区三区在线视频 | 国产视频中文字幕 | 中文字幕乱码一区二区三区 | 狠狠干av| 亚洲国产精品久久久久秋霞不卡 | 欧美激情综合网 | 亚洲精选一区二区 | 91亚洲欧美 | 中文字幕精品视频 | 欧美xxxx日本 | 精品久久ai电影 | 超碰精品在线 | 在线免费观看a级片 | 日本久久久久久 | 自拍视频网| 午夜久久久 | 超碰免费在 | 黄色免费观看网站 | 天天弄天天操 | 中文字幕成人 | 亚洲国产成人在线观看 | 久久精品一 | 久久精品99 | 国产精品亚洲一区二区三区在线 | 天堂影院av | 亚洲精品视频免费看 | 日本高清中文字幕 | av特级毛片 | 1级黄色大片 | 成人免费大片黄在线播放 | av中文在线| 国产91一区 | 91精品国产综合久久久久 |