當前位置:首頁 » 編程軟體 » memcached編譯

memcached編譯

發布時間: 2023-01-24 20:37:08

Ⅰ Xcache和memcache選哪個好

memcache和 Xcache 是php的2個緩存工具。PHP5.5以來,自帶有 Zend Opcache ,不過默認沒啟用。
這些緩存器的原理:

引用
把PHP執行後的數據緩沖到內存中從而避免重復的編譯過程,能夠直接使用緩沖區已編譯的代碼從而提高速度,降低伺服器負載,它們的效率是顯而易見的,像drupal這種龐大的CMS,每次打開一個頁面要調用數十個PHP文件,執行數萬行代碼,效率可想而知

然而Opcache 只自動緩存代碼,它沒有開放一個自定義緩存的API,要用到用戶緩存的話還得用上Xcache或者memcache。
Xcache是中國人所做,看起來很牛叉,但是在實際應用中發現這個東西太不穩定了,光用它作代碼緩存(後台自動緩存PHP代碼),竟然有時候會使得整個PHP進程都當掉。然後也試了Xcache的用戶緩存,API文檔寫得真夠殘的,好在還能用,但萬沒有想到,在fastcgi模式下,緩存命中率低得可憐,用和沒用基本上差不多,明明緩存了,後一個請求過來一查卻說沒緩存,可能延時個幾秒後才得知這個已經緩存了,才能取出緩存內容。這玩意到底仔細測試沒有?我用的是3.1.0官方正式版Xcache在PHP 5.5 里作的測試,簡直就是個廢物!還記得以前在PHP5.2裡面也用它過,莫名其妙的請求失敗也時有出現。現在直接不敢再用……

相比這個XCache,memcache穩定得多。題外話:memcached和memcache又有點不同,memcached是memcache的守護進程,但是PHP中也有memcached的擴展。這兩個說實話是讓人頭暈不知道是什麼區別,其實我看來就是調用memcache的封裝模式不太一樣而已。具體哪些調用上的不同,參考 http://pecl.php.net/package/memcache 和http://pecl.php.net/package/memcached 。一看就知道memcached要多一些API函數調用,功能也更強大一些。而實際上基礎應用的話memcache已經足夠。

memcache的使用首先要有它的服務(也就是memcached進程)在跑,這個是一個小小的軟體,一般是用C++編譯,可以部署在與PHP同一台也可以不同,甚至可以分布式部署幾個memcached服務在不同的伺服器上。而PHP的memcached只是它的客戶端而已。memcached本身沒有PHP代碼緩存功能,現升到PHP5.5後直接交給自帶Opcache 了。一般用它作用戶緩存。經過實際開發,memcached穩定性是非常高的,只要有緩存,命中率幾乎在99%以上。PHP官方下提供了它的擴展可直接使用:http://pecl.php.net/package/memcache 連Windows版的DLL也直接在那裡了,不用自己再編譯。Windows下編譯這些東西真是麻煩得很啦~

綜上memcache更加穩定,推薦使用。Xcache真要用的話,還是老實在本地先測試一下再說。
此外,微軟Windows下PHP可以使用Wincache,這個的穩定性沒得說的,而且也不用守護進程。但是微軟沒能編譯適用於PHP 64位的DLL。要想通用和跨平台,memcache是首選!!

Ⅱ 如何在Ubuntu 12.04上安裝和使用Memcache

這個是centos的詳細安裝步驟,ubuntu也差不多。一下參考:PHP程序員,雷雪松的個人博客。
memcached需要libevent支持,所以首先安裝libevent。
解決安裝memcache出現configure: error: libevent is required. If it』s already installed, specify its path using –with-libevent=/dir/
這里要安裝memcached.但在編譯的時候提示需要指定libevent庫,解決辦法如下:
查看系統是否已經安裝libevent
# rpm -qa|grep libevent
如果有,不要高興,先升級
#yum -y install libevent
測試libevent是不是已經安裝成功
#ls -al /usr/lib | grep libevent

可以看到多個已經安裝的類包安裝memcached(http://memcached.org/)
可以先查看編譯參數
# wget http://memcached.googlecode.com/files/memcached-1.4.8.tar.gz
# tar zxvf memcached-1.4.8.tar.gz
# cd memcached-1.4.8
# ./configure -help
# ./configure -prefix=/usr/local/memcached
# make
# make install
在這個時候,不一定會編譯通過,依舊會出現:
checking for libevent directory… configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/
If it』s already installed, specify its path using –with-libevent=/dir/
因為libevent 這個包是系統默認安裝的,沒有安裝相應的開發所用的頭文件。
所以,還要使用如下命令來安裝:
yum install libevent-devel
再編輯,即可通過。。
啟用Memcached,
/usr/local/memcached/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u root

Ⅲ cygwin編譯memcached效率怎麼樣

gcc -o xxx source.c -o 後面指定編譯出來的程序的名字 *.c 就是要編譯的源文件 這個命令是把當前目錄下的source.c源文件編譯成名為xxx的程序 原則上放在哪個目錄下都行,但你要先到有源文件的目錄下再執行編譯命令。

linux編譯安裝命令

Linux編譯安裝相關命令,下面以Linux安裝Mysql工具為例進行說明,代碼如下:

1、測試環境在Linux MySQL下進行,版本系統為CentOS5,以下為相關軟體:

mysql-5.1.30
memcached-1.2.6
libevent-1.4.7-stable
memcached_functions_mysql-0.8
libmemcached-0.26

2、編譯安裝Linux MySQL

[root@localhost~]#tarxzfmysql-5.1.30.tar_001.gz
[root@localhost~]#cdmysql-5.1.30
[root@localhost~]#./configure--prefix=/usr/local/mysql51
[root@localhost~]#make
[root@localhost~]#makeinstall
[root@localhost~]#./scripts/mysql_install_db--user=mysql--skip-name-resolve
[root@localhost~]#/usr/local/mysql51/bin/mysqld_safe
#連接符&這是放入後台,&&是前一個正確執行,才會執行後一個
#Linux編譯安裝流程./configure&&make&&makeinstall(默認目錄安裝)
#./configure--prefix=/usr/local/pcre&&make&&makeinstall(指定安裝目錄)

Ⅳ Linux下Memcached的安裝步驟是什麼呢

一、檢查libevent
首先檢查系統中是否安裝了libevent
Shell代碼
rpm -qa|grep libevent
如果安裝了則查看libevent的安裝路徑,後續安裝時需要用到
Shell代碼
rpm -ql libevent
如果沒有安裝,則先安裝libevent

安裝libevent:
1.首先下載libevent安裝包
Shell代碼
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
2.解壓縮安裝包
Shell代碼
tar zxvf libevent-1.4.12-stable.tar.gz -C /usr/local/
3.進入解壓後的目錄
Shell代碼
cd libevent-1.4.12-stable/
4.配置編譯、安裝
Shell代碼
./configure -prefix=/usr/libevent
make
make install
安裝完libevent之後為了讓動態鏈接庫為系統所共享,需要執行以下動態鏈接庫的管理命令ldconfig
不過在執行ldconfig命令之前需要注意以下libevent的安裝目錄。具體參見:http://chenzhou123520.iteye.com/blog/1925196

安裝完libevent後正式開始安裝memcached
1.首先是下載memcached的安裝包
Shell代碼
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
2.修改安裝包的執行操作許可權
Shell代碼
chmod 777 memcached-1.4.15.tar.gz
3.解壓安裝包到指定目錄
Shell代碼
tar zxvf memcached-1.4.15.tar.gz -C /usr/local
4.進入解壓後的目錄
Shell代碼
cd /usr/local/memcached-1.4.15/
5.配置、編譯、安裝
註:configure時需要指定libevent的安裝路徑
Shell代碼
./configure -with-libevent=/usr/libevent/ -prefix=/usr/local/memcached
make
make install
6.安裝成功後啟動一下看安裝是否成功
Shell代碼
/usr/local/memcached/bin/memcached -d -m 10m -p 11211 -u root
啟動參數介紹如下:和上面的命令不對應
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,這里是10MB,
-u是運行Memcache的用戶,這里是root,
-l是監聽的伺服器IP地址,如果有多個地址的話,這里指定了伺服器的IP地址192.168.0.200,
-p是設置Memcache監聽的埠,這里設置了12000,最好是1024以上的埠,
-c選項是最大運行的並發連接數,默認是1024,這里設置了256,按照伺服器的負載量來設定,
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,也可以啟動多個守護進程,不過埠不能重復。

如果要給memcached上配置日誌,參見:http://chenzhou123520.iteye.com/blog/1925209

PS:附上一個memcached啟動的shell腳本
Shell代碼
#!/bin/sh
echo "Start to start memcached server $(date)..."

MEMCACHED=/usr/local/memcached/bin/memcached

usage()
{
echo "usage: `basename $0` port"
}

if [ -n "$1" ]
then
{
pid=`ps aux|grep memcached|grep "$1" |grep -v grep|awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 2
echo "kill memcached which port is $1 begin"
echo "pid:$pid"
kill -9 $pid
echo "kill memcached which port is $1 end"
sleep 2
}
fi
echo "begin to start memcached in port $1"
LOG_FILE=/var/log/memcached/memcached_$1.log
rm -f $LOG_FILE
$MEMCACHED -d -m 2048 -p $1 -u root -vv >> $LOG_FILE 2>&1
echo "start memcached end"
tail -f $LOG_FILE
}
else
{
usage
exit 1
}
fi
把該腳本命名為startup.sh
執行:./startup.sh 11211
其中11211為memcached的啟動埠,也可以通過自定義的埠來啟動
查看是否啟動:ps aux|grep memcached
查看版本 :
cd /etc/init.d/
memcached -h
或者:
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

stats

Ⅵ 如何編譯和安裝memcached

$ apt-get install git
$ git clone https://github.com/memcached/memcached.git
$ cd memcached
$ apt-get install autotools-dev
$ apt-get install automake
$ ./autogen.sh
$ ./configure
$ make
$ make test
$ make install

Ⅶ windows編譯memcached需要pthread嗎

下載之後解壓會出現兩個版本,32位系統用x86,64位系統用x64,裡面各有一個.exe程序。
3建議把memcached的文件夾拷貝到自己的網站環境目錄下方便統一管理。
4接下來就是安裝了。打開命令提示符,進入到memcached所在目錄。
5輸入
memcached -d install
如果沒有報錯說明安裝成功
6打開 開始-->管理工具-->服務,或者 運行-->services.msc來打開服務管理界面,前面的安裝環節沒有出現問題的話這里會多一個 Memcached Server服務。
7點擊啟動此服務,或者命令行輸入 netstart "Memcached Server" 來啟動memcached.
8至此,memcached安裝完成。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:710
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:972
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:681
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:833
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:741
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1081
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:312
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:192
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:880
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:837