memcache 安装教程
memcached:官网http://memcached.org/
说明:memcached本身没有Linux版本,网上的windows 版本都是个人开发的。
memcached和memcache区别:
memcache是php的一个扩展,用于php管理memcached,php-memcache.dll。
如果安装了memcached不安装扩展,那么php无法操控memcached,但是命令行使用起来没有问题
如果安装了memcache扩展但是没有安装memcached服务,那么这个就无法使用。
只有同时安装了memcached服务和memcache扩展才可以在PHP中使用memcached提高动态网站性能。
要在網站中使用 memcached,必須要進行兩個分別的步驟。首先在 Windows 下架設 memcached 伺服器 。
很多人都推荐区http://code.jellycan.com/memcached/ 下载,我进入后没看到下载地址,而是在
http://downloads.northscale.com/memcached-win32-1.4.4-14.zip! 下载的。
下載後解壓縮到你要放置的資料夾,然後以命令提示字元模式在該資料夾中下指令:
- memcached.exe -d install
這是將 memcached 安裝成系統服務。接著啟動 memcached 服務:
- memcached.exe -d start
到這裏,只是安裝好「memcached 伺服器」。
(NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。 )
接著需在 php 中安裝相關檔案並設定,網站才能使用 memcached。首先去下載與你 php 版本相符的 php_memcache.dll,將它放到 php 資料夾下的 \ext 目錄。
你可以在這裏下載到適合你 php 版本 win32 的 php_memcache.dll:
http://windows.php.net/downloads/pecl/releases/memcache/
例如我的 php 版本為 5.5.1,就下載 3.0.8 資料夾下的 php_memcache-3.0.8-5.5-ts-vc11-x86.zip 或 php_memcache-3.0.8-5.5-nts-vc11-x86.zip
(要使用 64 位元版本的話請下載 x64)。
什麼是 ts 與 nts 版本:
TS:Thread Safe 執行緒安全, 執行時會進行執行緒(Thread)安全檢查,以防止有新要求就啟動新執行緒的 CGI 執行方式而耗盡系統資源
NTS:Non Thread Safe 非執行緒安全, 在執行時不進行執行緒(Thread)安全檢查
PHP的兩種執行方式:ISAPI 和 FastCGI。
ISAPI (Internet Server Application Programming Interface) 執行方式是以 DLL 動態函式庫的形式使用,可以在被使用者請求後執行,在處理完一個使用者請求後不會馬上消失,所以需要進行執行緒安全檢查,這樣來提高程式的執行效率,所以如果是以 ISAPI 來執行 PHP,建議選擇 Thread Safe 版本
apache 中的設定方式:
#下面這個是載入 TS 版本的 php 必須的
LoadModule php5_module 「xxx/php5apache2_2.dll」
接著在 php.ini 的最後面加上以下內容:
- [Memcache]
- extension=php_memcache.dll
重新啟動 apache 即可。
註:memcached 伺服器 與網站伺服器 (如 Apache Server) 並不用一定要架在同一台電腦上。如果不同電腦,只需在相關的網站設定中指定 memcached 伺服器所在的 IP 就可以了。
测试是否安装成功:
<?php $memcache = new Memcache;
$memcache->connect("localhost",11211); # You might need to set "localhost" to "127.0.0.1"
echo "Server's version: " . $memcache->getVersion() . "<br />\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = "test";
$tmp_object->int_attr = 123;
$memcache->set("key",$tmp_object,false,10);
echo "Store data in the cache (data will expire in 10 seconds)<br />\n";
echo "Data from the cache:<br />\n";
var_dump($memcache->get("key")); ?>
没有错误产生,则成功。
我的输出:
Server's version: 1.4.4-14-g9c660c0
Store data in the cache (data will expire in 10 seconds)
Data from the cache:
object(stdClass)#3 (2) { ["str_attr"]=> string(4) "test" ["int_attr"]=> int(123) }
memcache基本设置
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
参考:http://www.suma.tw/thread-4586-1-1.html
http://zurmo.org/wiki/installing-memcache-on-windows
linux安装:http://kling.blog.51cto.com/3320545/1250953
linux编译安装:
1:检查是否安装Libevent
2.安装:
$wget -c http://www.memcached.org/files/memcached-1.4.17.tar.gz$tar -zxvf memcached-1.4.17.tar.gz$cd memcached-1.4.17$./configure --prefix=/usr/local/memcached$ make$ sudo make install第三步:启动memcached
|
1
2
|
$cd /usr/local/memcached$./memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -P /tmp/memcached.pid |
第三步:检查是否安装成功
|
1
2
3
|
$ps -aux | grep memcache #法1$netstat -antu | grep 11211 #法2$telnet localhost 11211 #法3 |
常用命令
启动memcached服务
|
1
|
#./memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -P /tmp/memcached.pid |
关闭memcached服务
|
1
|
#kill `cat /tmp/memcached.pid` |
#!/bin/bash
# author:kuangl
# date:--
# description: Starts and stops the Memcached services.
# pidfile: /tmp/memcached1.pid
# config: /usr/local/memcached
# chkconfig: -
# source function library
. /etc/rc.d/init.d/functions
memcached="/usr/local/memcached/bin/memcached"
[ -e $memcached ] || exit
start()
{
echo "Starting memcached:"
daemon $memcached -d -m -u root -l 127.0.0.1 -p -c -P /tmp/memcached1.pid
}
stop()
{
echo "Shutting down memcached"
killproc memcached
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit
esac
exit $?
四、将脚本复制到init.d目录下
|
1
|
[root@jw-test01 scripts]# cp memcached.sh /etc/init.d/memcached |
五、将memcached加入系统启项
|
1
2
|
[root@jw-test01 scripts]# chkconfig --add memcached[root@jw-test01 scripts]# chkconfig --level 35 memcached on |
六、启动memcached
|
1
2
3
4
5
|
[root@jw-test01 scripts]# service memcached restartShutting down memcached [确定]Starting memcached: [确定][root@jw-test01 scripts]# ps -ef |grep memcachedroot 27616 1 0 22:18 ? 00:00:00 /usr/local/memcached/bin/memcached -d -m 1000 -u root -l 127.0.0.1 -p 11211 -c 1500 -P /tmp/memcached1.pid |
七、Memcached常用参数
| 参数 | 说明 |
| -p <num> | 设置端口号(默认不设置为: 11211) |
| -U <num> | UDP监听端口(默认: 11211, 0 时关闭) |
| -l <ip_addr> | 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问) |
| -d | 独立进程运行 |
| -u <username> | 绑定使用指定用于运行进程<username> |
| -m <num> | 允许最大内存用量,单位M (默认: 64 MB) |
| -P <file> | 将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与-d 一起使用 |
参考:
http://kling.blog.51cto.com/3320545/1250953
linux下php memcache安装:
1:去http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2.安装PHP的memcache扩展
tar vxzf memcache-2.2.1.tgz
cd memcache-2.2.1
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make
make install
3.上述安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/
4.把php.ini中的extension_dir = "./"修改为
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
5.添加一行来载入memcache扩展:extension=memcache.so
ok。
测试下:
<?php
$mem=new Memcache;
$mem->connect("127.0.0.1",) or die("colud not connect"); $mem->set("key","this is a test",,);
$val=$mem->get('key');
echo $val;
参考:http://www.oschina.net/question/234345_42556
memcache 安装教程的更多相关文章
- win7下64位系统memcache/memcached安装教程
折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别 在自己的新程序中打算全面应用memcached ...
- wamp在win7下64位系统memcache/memcached安装教程
折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别 在自己的新程序中打算全面应用memcached ...
- Windows下的Memcache安装与测试教程
Windows下的Memcache安装 1.下载memcache for windows. 下载地址:http://splinedancer.com/memcached-win32/,推荐下载bina ...
- Memcache基础教程
Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力. 它可以应 ...
- Memcached和Memcache安装(64位win7)
一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...
- Linux 下memcache安装及使用
memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.据说官方所说,其用户包括twitter.digg.flickr等,都是些互联网大腕呀.目前用memca ...
- 一篇memcache基础教程
Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力.它可以应对任 ...
- Memcached和Memcache安装(64位win7)[z]
http://www.cnblogs.com/lucky-man/p/6126667.html 一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理 ...
- Memcached和Memcache安装(64位win2008)
一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...
随机推荐
- javascript 给关键字加链接
var keys = { "和尚":["http://www.baidu.com","#ff0000"], "系统":[ ...
- codeforces 713D D. Animals and Puzzle 二分+二维rmq
题目链接 给一个01矩阵, 然后每个询问给出两个坐标(x1, y1), (x2, y2). 问你这个范围内的最大全1正方形的边长是多少. 我们dp算出以i, j为右下角的正方形边长最大值. 然后用二维 ...
- 图片异步加载 ,KVO
图片异步下载类目: .h #import <UIKit/UIKit.h> typedef void (^ImageBlock)(UIImage *img); @interface UIIm ...
- How to delete the icons of Win7 desktop shortcuts
1. Copy the following bat code in txt type file, 2. save it as file extension type bat, run it as ad ...
- delete 多表删除的使用(连表删除)
delete 多表删除的使用 1.从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE ...
- session_cache_limiter 及 session 常见问题
我点击后退按钮,为什么之前填写的东西不见 这是因为你使用了session. 解决办法: PHP代码:-------------------------------------------------- ...
- 常用的wsdl地址
天气预报Web Service,数据来源于中国气象局 Endpoint Disco WSDL IP地址来源搜索Web Service(是目前最完整的IP地址数据) Endpoint Disco WSD ...
- raft 一致性算法
介绍: 过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑. 来自Stanford的新的分布式协议研 ...
- curl几个选项
1.--cacert 选项请看https://curl.haxx.se/docs/sslcerts.html 2.CURL库怎样验证服务器证书 [复制链接] 中提到:你是客户端, 你希望的是: 你拿 ...
- Codeforces 551C GukiZ hates Boxes 二分答案
题目链接 题意: 一共同拥有n个空地(是一个数轴,从x=1 到 x=n),每一个空地上有a[i]块石头 有m个学生 目标是删除全部石头 一開始全部学生都站在 x=0的地方 每秒钟每一个学生都 ...