導航:首頁 > 編程語言 > php71memcached

php71memcached

發布時間:2022-05-16 06:41:43

『壹』 php 怎麼配置memcached

分為linux和windows系統下:

windows下:

1、首先下載memcache的windows版本,將下載下來的文件解壓出來後會看見一個名為memcached.exe的可執行程序

2、將該文件放到指定目錄,如D盤

3、安裝:

開始->運行->cmd打開命令窗口

進入D盤:cd d:

安裝memcache服務:

在命令窗口輸入:

memacahed.exe -d install

等待命令執行完成後,就可以在服務列表中看到memcached服務

4、啟動memcache服務:

memcached.exe -d start

5、可以通過以下命令來查看memcache服務是否啟動成功:

wmic process get description, executablepath | findstr memcached.exe

可以將memcached.exe的路徑放入到系統環境變數中,方便使用。

查看memcache運行狀態:

在命令窗口輸入:

telnet 127.0.0.1 11211

鏈接到memcache上,輸入stats就可以查看到當前memcache的狀態了;

linux下:

1.下載memcache源碼

http://www.memcached.org/

2.解壓並進入目錄

./configure --prefix=/usr/local/memcache
make
make test
sudo make install

3.啟動memcache

memcache -d start -u root

驗證memcache是否正確安裝並啟動

netstat -tap | grep memcached

4.安裝memcache擴展庫

下載memcache擴展

進入到memcache擴展文件

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make
make install

修改php.ini文件 增加

extension=memcache.so

安裝memcached擴展庫

下載memcached擴展

memcached擴展需要libMemcached庫的支持,所有在安裝memcached擴展庫之前要確認系統已經安裝了libmemcached

安裝libmemcached

./configure --prefix=/usr/local/memcache
make
make install

libmemcached安裝完成後,就可以安裝memcached擴展庫

./configure --with-libmemcached-dir=/usr/local/memcached/ --with-php-config=/usr/local/php/bin/php-config
make
make install

同樣修改php.ini配置文件,增加

extension=memcached.so

『貳』 php7無法安裝memcache擴展 系統 centos-6.8 Nginx-1.10.2 PHP-7.0.13/5.6.28 memcached-1.4

一 下載需要的源碼包
所有安裝包均選用最新的。
1. 下載libevent2.0.22
點擊紅色部分下載
下載memcached1.4.24
點擊紅色部分,下載最新版本
下載php擴展memcache3.0.8
選擇需要的版本
二 安裝詳細步驟
首先將以上三個軟體包下載到/tmp目錄下
1. 安裝libevent
cd /tmp #首先進入到該下載包的目錄
tar zxvf libevent-2.0.22-stable.tar.gz #解壓包cd libevent-2.0.22-stable #進入到解壓的目錄./configure --prefix=/usr/local #編譯前配置,生成Makefile文件,路徑可自行更改make; make install #編譯+安裝
1
測試是否安裝成功
看到這些信息,表示成功啦
2. 安裝memcached
cd /tmp #首先進入到該下載包的目錄
tar zxvf memcached-1.4.24.tar.gz #解壓包
cd memcached-1.4.24 #進入到解壓的目錄
./configure –with-libevent=/usr/local #編譯前配置,生成Makefile文件,路徑必須與libevent中一致make; make install #編譯+安裝
1
測試是否安裝成功
表示成功的信息
通過以上操作,就完成了memcached伺服器的安裝。特別的簡單吧!現在就來搞一搞memcache的php擴展安裝吧3. 安裝擴展
cd /tmp #首先進入到該下載包的目錄
tar zxvf memcache-3.0.8.tgz #解壓包
cd memcache-3.0.8 #進入到解壓的目錄
/opt/lampp/bin/phpize #動態為php添加擴展。phpize路徑可能不一致,請根據自己的實際情況./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config請根據自己環境情況填寫make; make install #編譯+安裝
1
完成以上步驟時,心情愉悅的點擊了enter,准備喝口水瀟灑一下,結果出現了一下錯誤(這也是我寫這篇博客的原因,要不都懶得記錄了)錯誤信息
看了下代碼錯誤信息,說是zlib.h找不到。找不到就給他安一個嘛。真是的安裝zlib
下載zlib-1.2.8.tar.gz
下載地址:http://www.zlib.net/
如圖:
紅色部分點擊
cd /tmp #首先進入到該下載包的目錄
tar zxvf zlib-1.2.8.tar.gz #解壓包
cd zlib-1.2.8 #進入到解壓的目錄
./configure --prefix=/usr/local/zlib
make; make install #編譯+安裝
1
再進行配置一下系統的文件,載入剛才編譯安裝的zlib生成的庫文件vi /etc/ld.so.conf.d/zlib.conf
加入如下內容後保存退出: /usr/local/zlib/lib也就是添加安裝目錄的文件路徑,庫文件。ldconfig 運行之後就會載入安裝的庫文件了。
OK,到這一步了,此時,重新在memcache的php擴展中執行make;make install命令如果看到以下信息,表示成功:
擴展安裝成功
三 配置php.ini文件
首先通過phpinfo函數,找到php.ini的路徑,我的是:/opt/lampp/etc/php.ini在其中添加如下內容:
修改extension_dir路徑:
extension_dir = 「/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/」
extension=memcache.so
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
然後重新啟動apache,再次通過phpinfo查看一下情況。如果有如下內容,表示配置成功:
信息
四 配置memcached伺服器
啟動memcached伺服器
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid參數說明:
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,-u是運行Memcache的用戶,我這里是root,
-l是監聽的伺服器IP地址,如果有多個地址的話,我這里指定了伺服器的IP地址127.0.0.1,-p是設置Memcache監聽的埠,我這里設置了11211,最好是1024以上的埠,-c選項是最大運行的並發連接數,默認是1024,我這里設置了256,按照你伺服器的負載量來設定,-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid2. 結束memcached進行
kill cat /tmp/memcached.pid
3. 檢查memcached是否已經啟動
看到綠色框中內容,就表示完成
五 測試php的memcache擴展
<?php
$mem = new Memcache;
$mem->connect("192.168.12.201", 13001);
$mem->set('key','This is a test!', 0, 60);$val = $mem->get('key');
echo $val;
?>
寫在後面:大家有興趣可以將session改為使用memcache來保存。php自身使用文件的方式,不太好,動不動文件大小總和就上G了。

『叄』 在php中memcached和利用文件緩存哪個效率更好

看情況,如果不是很大就用memcahed 如果大了的話,就是文件緩存好些!

『肆』 如何讓php環境支持memcache

你是windows 還是linux ,如果linux需要在下載一個libevent插件去支持memcahe.我估計你是windwos.如果有需要Linux 再聯系我,下面我說下Windows的安裝方法:
1. 下載memcache的windows穩定版,解壓放某個盤下面,比如在c:\memcached
2. 在終端(也即cmd命令界面)下輸入 『c:\memcached\memcached.exe -d install』 安裝
3. 再輸入: 『c:\memcached\memcached.exe -d start』 啟動。NOTE: 以後memcached將作為windows的一個服務每次開機時自動啟動。這樣伺服器端已經安裝完畢了。
4.下載php_memcache.dll,請自己查找對應的php版本的文件
5. 在C:\winnt\php.ini 加入一行 『extension=php_memcache.dll』
6.重新啟動Apache,然後查看一下phpinfo,如果有memcache,那麼就說明安裝成功!

『伍』 為什麼不要用php memcache而要用php memcached客戶端

先從最本質上的區別,memcache是通過介面方式連接memcache(服務)提供的介面;memcached是通過系統的libmemcached庫提供的api與memcached服務端進行交互,更底層,功能更多,速度更快。而且,memcache是早期的擴展,memcached相對較新,更穩定,功能更多。

『陸』 php怎麼開啟memcache

下載memcache安裝包和php擴展文件php_memcache.dll。解壓memcache,把memcached移動到C盤。

單擊開始菜單,運行「cmd」。
cd .. //進入c盤
cd memcached //進入memcache目錄
memcache.exe -d install //安裝memcache服務

設置php:找到php安裝目錄,打開php.ini文件。找到配置文件里允許支持擴展的區域exetension=。。,添加一行exetension=php_memcache.dll。

把php擴展文件php_memcache.dll移動到php安裝目錄下的ext目錄下。注意在php.ini中要設置好exetension目錄。php_memcache.dll此文件需要先在網上下載下來!

設置apache:
打開apache配置文件httpd.conf,找到LoadMole載入模塊區域。去掉前面的「LoadMole mem_cache_mole moles/mod_mem_cache.so」#號

重啟apache服務。linux下重啟使用命令:service httpd restart。

然後就大功告成!

『柒』 linux php7 安裝 memcached 改哪個配置文件

1、php7安裝Memcached擴展
比如說我現在使用了最新的 Ubuntu 16.04,雖然內置了 PHP 7 源,但 memcached 就還沒有,不過好在,它已經支持了 PHP 7 ,只是沒有源而已,我們手動編譯它。
要安裝 memcached,需要先安裝依賴庫 libmemcached
從 這里 找到最新的 libmemcached 源碼包,然後下載。
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure
make && make install
安裝好依賴庫之後,我們來安裝 memcached :
從 github 克隆 memcached 後,需要手動切換到 php7 分支,不然會提示 fatal error : ext / standard / php_smart_str . h : No such file or directory 錯誤。
git clone https://github.com/php-memcached-dev/php-memcached

『捌』 使用php Memcache模塊如何正確遍歷所有KEY以及VALUE

在php提供的用於與memcached交互的擴展模塊中有memcached與memcache,前者提供方法getAllKeys用於遍歷所有Memcached伺服器上的key,但是並不保證原子操作,而後者卻沒有提供任何方法,雖然在PHP官方
文檔中有人給出使用方法getExtendedStats來間接獲取Memcached伺服器上的所有key,但是給出的代碼是有不少坑的,如果拿來就用,對於cluster的memcached伺服器而言,有些問題就需要指出來。
下面將給出官方文檔中的代碼,並指出可能面臨的問題,代碼如下:
<?php
/**
*Functiontogetallmemcachekeys
*@authorManishPatel
*@Created:28-May-2010
*/
functiongetMemcacheKeys(){

$memcache=newMemcache;
$memcache->connect('127.0.0.1',11211)ordie("");

$list=array();
$allSlabs=$memcache->getExtendedStats('slabs');
$items=$memcache->getExtendedStats('items');
foreach($allSlabsas$server=>$slabs){
foreach($slabsAS$slabId=>$slabMeta){
$cmp=$memcache->getExtendedStats('cachemp',(int)$slabId);
foreach($cmpAS$keys=>$arrVal){
foreach($arrValAS$k=>$v){
echo$k."<br>";
}
}
}
}//EOgetMemcacheKeys()?>
在上述代碼中,如果用於獲取單個memcached伺服器上的key,是不存在任何問題,但是獲取連接池中的多個memcached所有key就存在問題,會發現列印出重復的key,問題就在於當使用getExtendedStats用去特定$slabID
上的信息時,返回的是連接池中所有的伺服器上的特定$slabId的存儲的keys信息。當$server為"127.0.0.1:11214"且$slabId為0將變數$cmp的信息列印出如下所示:
array(2){
["127.0.0.1:11214"]=>
array(1){
["course_schools__??¨é?¨"]=>
array(2){
[0]=>
string(1)"0"[1]=>
string(10)"12"}
}
["127.0.0.1:11216"]=>
array(1){
["monitorMemcache"]=>
array(2){
[0]=>
string(2)"10"[1]=>
string(10)"12"}
}
}
當$server為"127.0.0.1:11216"且$slabId為0將變數$cmp的信息列印出如下所示:
array(2){
["127.0.0.1:11214"]=>
array(1){
["course_schools__??¨é?¨"]=>
array(2){
[0]=>
string(1)"0"[1]=>
string(10)"12"}
}
["127.0.0.1:11216"]=>
array(1){
["monitorMemcache"]=>
array(2){
[0]=>
string(2)"10"[1]=>
string(10)"12"}
}
}

『玖』 php 一個網站需要用memcached!主要緩存什麼內容 那些該緩存 應該注意什麼

這個東西最大的好處是可以存儲對象,減少很多資料庫和伺服器壓力。直接基於內存的存儲,調用速度非常給力。
主要緩存的內容,大概可以歸納為 1.不需要即時顯示的內容,或者mysql查詢耗時的內容。舉例說明:網站的列表【最火的 排行榜】等非及時的,最新的如果強調及時性,可不用,當然也可以使用,可能更新緩存頻率較高。
2.非常需要速度和性能的地方
有些頁面通過mysql可能聯合查詢,全表檢索查詢速度相當慢,這時候可用緩存暫時保留 例如搜索引擎的結果集。

3.臨時數據保存
我們知道mysql Oracle等關系型資料庫,需要建立表結構才能存儲,這就決定了,有些臨時數據的存儲,也需要建立特定的表結構。這樣就比較啰嗦,不便於維護。
4.存儲對象
這個也是一個比較有特色的地方,php創建對象的效率是不高的,甚至堪稱低效,再加上構造函數大量的資料庫操作的話,會讓性能低到谷底,那麼它能幫你吧已經創建好的對象 保存起來 下次相同的請求 無需new只需要將它還原。
綜上,緩存是php的利器,速度 效率 等詞彙都可以通過它去體現

『拾』 php中memcached怎麼存多維數組

PHP的Memcached的驅動會自動進行serialize和unserialize,你所需要做的是:
1. 選取一個合適key,比如 "POST_OF_USER_" . $userId
2. 調用set函數把數據丟進去就行了
示例代碼:
全選復制放進筆記// 0. 准備:
$cache = new Memcache();
$cache->connect('127.0.0.1', 11211); // 請替換為你的memcache伺服器地址和埠
$userId = // 你自己想辦法獲取...

// 1. 構造cache KEY
$cacheKey = "POSTS_OF_USER_" . $userId;

// 2. 從緩存中獲取數據
$posts = $cache->get($cacheKey);
if ($posts === false){
// 3. 緩存失效了,載入數據
$posts = // 你自己想辦法載入數據

// 4. 保存數據到緩存中
$cache->set($cacheKey, $posts);
}

// OK,可以使用posts了

閱讀全文

與php71memcached相關的資料

熱點內容
推薦看片網站 瀏覽:652
主角叫林飛的小說是什麼 瀏覽:683
閑置伺服器能幹什麼工作 瀏覽:949
asdr q-2299123 瀏覽:987
中國最大尺度古裝電影 瀏覽:695
電影和電視播放器 瀏覽:113
櫻桃小說by小花喵 瀏覽:514
英國看片網站叫什麼名字 瀏覽:676
法蘭克plc編程軟體 瀏覽:359
怎麼看pdf的字體 瀏覽:634
和李采潭合作的女演員有哪些 瀏覽:430
日本那部電影病嬌男主要當女主的狗是校園電影 瀏覽:210
抗日戰爭片400部 瀏覽:730
編程可以賺錢嗎 瀏覽:729
eclipseandroid建立工程 瀏覽:732
大胸女友主演 瀏覽:276
佛教電影《解怨》國語 瀏覽:474
哪部電影男孩叫安東 瀏覽:13
有騎木驢的電影叫什麼感覺 瀏覽:265
windows重啟mysql命令 瀏覽:730