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! 下载的。

下載後解壓縮到你要放置的資料夾,然後以命令提示字元模式在該資料夾中下指令:

  1. memcached.exe -d install

這是將 memcached 安裝成系統服務。接著啟動 memcached 服務:

  1. 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 的最後面加上以下內容:

  1. [Memcache]
  2. 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`
Memcached启动脚本
#!/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 restart
Shutting down memcached       [确定]
Starting memcached:           [确定]
[root@jw-test01 scripts]# ps -ef |grep memcached
root     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 安装教程的更多相关文章

  1. win7下64位系统memcache/memcached安装教程

    折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别  在自己的新程序中打算全面应用memcached ...

  2. wamp在win7下64位系统memcache/memcached安装教程

    折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别  在自己的新程序中打算全面应用memcached ...

  3. Windows下的Memcache安装与测试教程

    Windows下的Memcache安装 1.下载memcache for windows. 下载地址:http://splinedancer.com/memcached-win32/,推荐下载bina ...

  4. Memcache基础教程

    Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力. 它可以应 ...

  5. Memcached和Memcache安装(64位win7)

    一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

  6. Linux 下memcache安装及使用

    memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.据说官方所说,其用户包括twitter.digg.flickr等,都是些互联网大腕呀.目前用memca ...

  7. 一篇memcache基础教程

    Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力.它可以应对任 ...

  8. Memcached和Memcache安装(64位win7)[z]

    http://www.cnblogs.com/lucky-man/p/6126667.html 一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理 ...

  9. Memcached和Memcache安装(64位win2008)

    一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

随机推荐

  1. HTML5 canvas 在线画笔绘图工具(三)

    组装画板(TDrawBuilder) 在这一小节中我们要把工具条和画板组装起来,让他们可以协同进行工作. 画板通过一个命名为TDrawBuilder来进行组装.在详细讲解TDrawBuilder对象之 ...

  2. 工作中使用seajs后的一些总结

    工作中用seajs一段时间了,小小地总结一下. 使用seajs五部曲: 1.布置你项目的目录结构 2.设置seajs的config项,我一般是单独一个js文件--> seajs-config.j ...

  3. 自己动手打造html5星际迷航!

    学习html5的canvas第三天,觉得还没过瘾,转眼就忘,于是趁着有空,准备弄个小游戏来玩!游戏应该需要注意性能,还有一些逻辑需要斟酌,我想还需要用户可修改性,也就是用户配置.好,开始我们简单但有趣 ...

  4. python socket 编程之三:长连接、短连接以及心跳

    长连接:开启一个socket连接,收发完数据后,不立刻关闭连接,可以多次收发数据包. 短连接:开启一个socket连接,收发完数据后,立刻关闭连接. 心跳:长连接在没有数据通信时,定时发送数据包(心跳 ...

  5. 【转】浏览器中的data类型的Url格式,data:image/png,data:image/jpeg!

    所谓"data"类型的Url格式,是在RFC2397中 提出的,目的对于一些"小"的数据,可以在网页中直接嵌入,而不是从外部文件载入.例如对于img这个Tag, ...

  6. python学习day12

    目录 html结构与标签 css样式   html结构之head <head> 标签用于定义文档的头部,它是所有头部元素的容器.<head> 中的元素可以引用脚本.指示浏览器在 ...

  7. gdal vc++ 配置说明

      1在VC中,打开菜Tool-Option,在Directories页面中的Library files中和Include files中分别添加GDAL的LIB文件目录和INCLUDE文件目录2打开菜 ...

  8. Inno Setup GIF 显示插件 GIFCtrl (V2.1 版本)

    原文 http://restools.hanzify.org/article.asp?id=79  引用来自 test.iss ; -- test.iss --; restools; http://r ...

  9. Unix/Linux环境C编程入门教程(30) 字符串操作那些事儿

    函数介绍 rindex(查找字符串中最后一个出现的指定字符) 相关函数 index,memchr,strchr,strrchr 表头文件 #include<string.h> 定义函数 c ...

  10. 13个JavaScript图表(JS图表)图形绘制插件

    转自:http://blog.jobbole.com/13671/ 1. Flash 过去是最佳解决方案,但很多人多在从那迁移: 2. 现代浏览器及其更强大的计算能力,使其在转化绘制实时数据方面的能力 ...