Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

最近学习Memcached;通过我的亲身进来,带大家安装Memcached,以及演示使用php扩展memcached进行简单操作;

1、获取Memcached

wget http://www.memcached.org/files/memcached-1.4.24.tar.gz
复制代码
安装Memcached
1、解压tar -xf memcached-1.4.24.tar.gz;
2、进入目录cd memcached-1.4.24/;
3、配置 ./configure;
4、编译安装make&&make install;
其中&&表示前面的命令执行成功才会执行后面的命令;
安装完成后memcached的默认目录为/usr/local/bin/memcached
复制代码
复制代码
启动memcached
启动例子:memcached -u root -d
启动参数说明:
-d 选项是启动一个守护进程。
-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB。
-u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户
-p <num>是设置Memcache的TCP监听的端口,最好是1024以上的端口。
-c 选项是最大运行的并发连接数,默认是1024。
-P <file> 是设置保存Memcache的pid文件。
复制代码
1
2
3
4
5
6
PHP安装对Memcached的支持<br>https://launchpad.net/libmemcached/1.0/1.0.9/+download/libmemcached-1.0.9.tar.gz
php有两个版本的memcached客户端这里介绍memcached这个是新版的客户端基于libmemcached,所以必须要安装libmemcached安装libmemcached
1、解压源码tar -xf libmemcached-1.0.18.tar.gz
2、进入源码目录cd libmemcached-1.0.18/
3、配置./configure --prefix=/usr/local/libmemcached
4、编译、安装make && make install
复制代码
安装Memcached的PHP扩展
1、下载源码wget https://pecl.php.net/get/memcached-2.2.0.tgz;
2、解压源码 tar -xf memcached-2.2.0.tgz ;
3、进入源码目录cd memcached-2.2.0/;
3、解压后的源码没有配置文件需要先生成配置文件phpize;
4、源码配置./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
./configure --enable-memcached --with-php-config=/webData/server/php-5.5.7/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
5、编译并安装make&&make install
修改php.ini添加extension = "memcached.so"就可以
复制代码

 

 

Memcached开机启动方式

方法一:

在 /etc/rc.d/rc.local 文件中追加启动命令

/usr/local/bin/memcached  -u root -d -m 2048 -l 192.168.137.99 -p 11211 -P /tmp/memcached.pid

也可不指定IP,默认是本机,如

/usr/local/bin/memcached  -u deamon -d -m 2048 -p 11211 -P /tmp/memcached.pid

用户最好是 apache 或 deamon

 

方法二:

#写服务脚本

1 vim /etc/init.d/memcached

粘贴如下代码

01 #!/bin/sh  
02 #  
03 # memcached:    MemCached Daemon  
04 #  
05 # chkconfig:    - 90 25 
06 # description:  MemCached Daemon  
07 #  
08 # Source function library.
09    
10 . /etc/rc.d/init.d/functions  
11 . /etc/sysconfig/network  
12
13 #[ ${NETWORKING} = "no" ] && exit 0 
14 #[ -r /etc/sysconfig/dund ] || exit 0 
15 #. /etc/sysconfig/dund  
16 #[ -z "$DUNDARGS" ] && exit 0 
17
18 MEMCACHED="/usr/local/memcached/bin/memcached"
19 SERVER_IP="192.168.137.98"
20 SERVER_PORT="11211"
21
22 [ -f $MEMCACHED ] || exit 
23
24 start()  
25 {  
26         echo -n $"Starting memcached: "
27         daemon $MEMCACHED -u daemon -d -m 2048 -l $SERVER_IP -p $SERVER_PORT -P /tmp/memcached.pid
28         echo
29 }  
30 stop()  
31 {  
32         echo -n $"Shutting down memcached: "
33         killproc memcached  
34         echo
35 }
36
37 # See how we were called.  
38 case "$1" in
39   start)  
40         start  
41         ;;  
42   stop)  
43         stop  
44         ;;  
45   restart)  
46         stop  
47         sleep 
48         start  
49         ;;  
50     *)  
51         echo $"Usage: $0 {start|stop|restart}"
52         exit 
53 esac  
54 exit 0

 

#设置启动服务

1 chmod 755 /etc/init.d/memcached  #增加执行权限
2 chkconfig --add memcached  #添加memcached到服务项
3 chkconfig --level 2345 memcached on  #设置开机启动
4 chkconfig --list memcached  #查看是否设置成功

#服务管理命令

1 service memcached start   # 启动memcached
2 service memcached stop   # 关闭memcached
3 service memcached restart   # 重启memcached

 

 

Memcached启动参数说明:

-d  选项是启动一个守护进程,
-m  是分配给Memcache使用的内存数量,单位是MB,默认64MB
-M  return error on memory exhausted (rather than removing items)
-u  是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。
-l  是监听的服务器IP地址,默认为所有网卡。
-p  是设置Memcache的TCP监听的端口,最好是1024以上的端口
-c  选项是最大运行的并发连接数,默认是1024
-P  是设置保存Memcache的pid文件
-f  <factor>  chunk size growth factor (default: 1.25)
-I  Override the size of each slab page. Adjusts max item size(1.4.2版本新增)
也可以启动多个守护进程,但是端口不能重复

 


 

-p 指定端口号(默认11211)
-m 指定最大使用内存大小(默认64MB,最大2G)
-t 线程数(默认4)

-l 连接的IP地址, 默认是本机
-d start 启动memcached服务(缺省值为start)
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d uninstall 卸载memcached服务
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

 

 

memcached 在windows下安装及启动

 

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。

Memcached官方:http://danga.com/memcached/

关于Memcached的介绍请参考:Memcached深度分析

下载Windows的Server端

下载地址:http://code.jellycan.com/memcached/

安装Memcache Server(也可以不安装直接启动)

1. 下载memcached的windows稳定版,解压放某个盘下面,比如在c:memcached
2. 在CMD下输入 “c:memcachedmemcached.exe -d install” 安装.
3. 再输入:”c:memcachedmemcached.exe -d start” 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

如果下载的是二进制的版本,直接运行就可以了,可以加上参数来加以设置。

常用设置:
-p <num>          监听的端口
-l <ip_addr>      连接的IP地址, 默认是本机
-d start          启动memcached服务
-d restart        重起memcached服务
-d stop|shutdown  关闭正在运行的memcached服务
-d install        安装memcached服务
-d uninstall      卸载memcached服务
-u <username>     以<username>的身份运行 (仅在以root运行的时候有效)
-m <num>          最大内存使用,单位MB。默认64MB
-M                内存耗尽时返回错误,而不是删除项
-c <num>          最大同时连接数,默认是1024
-f <factor>       块大小增长因子,默认是1.25
-n <bytes>        最小分配空间,key+value+flags默认是48
-h                显示帮助

1.使用本站下载的源码仅限于个人学习和非商业用途。
2.禁止将本站下载的源码用于搭建或支持任何违法、淫秽、暴力或侵犯他人合法权益的网站或应用。
3.使用本站下载的源码需遵守国家法律法规及相关规定,不得从事任何违法活动。
4.如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。