Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
最近学习Memcached;通过我的亲身进来,带大家安装Memcached,以及演示使用php扩展memcached进行简单操作;
、获取Memcached
wget http://www.memcached.org/files/memcached-1.4.24.tar.gz
安装Memcached
、解压tar -xf memcached-1.4..tar.gz;
、进入目录cd memcached-1.4./;
、配置 ./configure;
、编译安装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文件。
PHP安装对Memcached的支持
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扩展
、下载源码wget https://pecl.php.net/get/memcached-2.2.0.tgz;
、解压源码 tar -xf memcached-2.2..tgz ;
、进入源码目录cd memcached-2.2./;
、解压后的源码没有配置文件需要先生成配置文件phpize;
、源码配置./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
、编译并安装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 |
粘贴如下代码
03 |
# memcached: MemCached Daemon |
06 |
# description: MemCached Daemon |
08 |
# Source function library. |
10 |
. /etc/rc.d/init.d/functions |
11 |
. /etc/sysconfig/network |
13 |
#[ ${NETWORKING} = "no" ] && exit 0 |
14 |
#[ -r /etc/sysconfig/dund ] || exit 0 |
15 |
#. /etc/sysconfig/dund |
16 |
#[ -z "$DUNDARGS" ] && exit 0 |
18 |
MEMCACHED= "/usr/local/memcached/bin/memcached" |
19 |
SERVER_IP= "192.168.137.98" |
22 |
[ -f $MEMCACHED ] || exit 1 |
26 |
echo -n $ "Starting memcached: " |
27 |
daemon $MEMCACHED -u daemon -d -m 2048 -l $SERVER_IP -p $SERVER_PORT -P /tmp/memcached.pid |
32 |
echo -n $ "Shutting down memcached: " |
37 |
# See how we were called. |
51 |
echo $ "Usage: $0 {start|stop|restart}" |
#设置启动服务
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:\memcached\memcached.exe -d install" 安装.
3. 再输入:"c:\memcached\memcached.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 显示帮助
- CentOS下安装yum源的流程和操作
一般公司都用Linux来搭建服务器,Linux安装软件时能够用yum安装依赖包是一件非常简单而幸福的事情,因为你只需一个简单的安装命令yum install []即可安装相应的软件,yum工具会自动的 ...
- 从零开始学 Java - CentOS 下安装 Tomcat
生活以痛吻我,我仍报之以歌 昨天晚上看到那个冯大辉老师的微信公众号,「小道消息」上的一篇文章,<生活以痛吻我,我仍报之以歌>.知乎一篇匿名回答,主题为<冯大辉到底是不是技术大牛,一个 ...
- [Linux]CentOS下安装和使用tmux
前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了.毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了.不过我就粗略地看了一眼,就关掉了. ...
- Centos下安装mysql 总结
一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...
- CentOS下安装Tomcat 8
CentOS下安装Tomcat 8 安装Tomcat8 去http://tomcat.apache.org/download-80.cgi下载Tomcat8的安装文件apache-tomcat-8.0 ...
- 【MySQL】CentOS下安装及搭建主从复制
CentOS下安装MySQL 1,wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2,rpm -ivh m ...
- centos下安装wireshark 抓包
centos下安装wireshark相当简单.两条命令就够了.这里.主要是记录写使用方面的东西 安装:1.yum install wireshark.注意这样并无法使用wireshark命令和图形界面 ...
- CentOS下安装w3m,及w3m的使用
centos下安装软件的命令不是apt-get,而是yum,如果安装w3m,利用sudo yum install w3m w3m-img -y即可 △△△△△△△△如果你用的是centos或readh ...
- Linux CentOS下安装Tomcat9
本文讲解在Linux CentOS下安装Tomcat9,以及Web项目的部署发布. 环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载To ...
随机推荐
- 分解成3NF保持函数依赖且为无损连接的算法
分解成3NF保持函数依赖且为无损连接的算法: 1.根据分解成3NF的保持函数依赖的分解算法(http://www.cnblogs.com/bewolf/p/4443919.html),得到分解结果ρ ...
- 函数buf_page_address_fold
/********************************************************************//** Calculates a folded value ...
- bzoj2800
这题好难,翻了一下波兰文的题解……这好像是当年唯一没人A的题目 首先区间修改不难想到差分,我们令d1=x1,dn+1=-xn,di=xi-xi-1 注意Σdi=0,这样对于[l,r]的修改(比如+a) ...
- bzoj1717: [Usaco2006 Dec]Milk Patterns 产奶的模式
后缀数组+二分答案+离散化.(上次写的时候看数据小没离散化然后一直WA...写了lsj师兄的写法. #include<cstdio> #include<cstring> #in ...
- bzoj3275: Number
最小割...然后推一下可知不能的情况必定为一奇一偶,于是s->奇->偶->t.跑最小割即可. #include<cstdio> #include<cstring&g ...
- [转] Asp.net Report Viewer 简单实例
原文链接:http://www.aspsnippets.com/Green/Articles/ASPNet-Report-Viewer-control-Tutorial-with-example.as ...
- Tomcat 映射虚拟目录
设置虚拟目录映射一般有两种用途: (1)把整个web应用映射到tomcat中: 如一个testapp的web应用的路径是/opt/testapp,则通过虚拟目录映射可以将其映射到tomcat(weba ...
- UVA 11374 Airport Express(最短路)
最短路. 把题目抽象一下:已知一张图,边上的权值表示长度.现在又有一些边,只能从其中选一条加入原图,使起点->终点的距离最小. 当加上一条边a->b,如果这条边更新了最短路,那么起点st- ...
- UVA 11396 Claw Decomposition(二分图)
以“爪”形为单元,问所给出的无向图中能否被完全分割成一个个单元. 分析图的性质,由于已知每个点的度是3,所以“爪”之间是相互交错的,即把一个“爪”分为中心点和边缘点,中心点被完全占据,而边缘点被三个“ ...
- HDU 5312 Sequence (规律题)
题意: 一个序列的第n项为3*n*(n-1)+1,而 n>=1,现在给一个正整数m,问其最少由多少个序列中的数组成? 思路: 首先,序列第1项是1,所以任何数都能构成了.但是最少应该是多少?对式 ...