安装Memcached服务

memcache分为服务端和客户端程序

服务端程序用来支持存储k-v值,程序名称memcached

客户端与服务端通信,进行存取值(常用的如php的memcache扩展,memcached扩展等)

memcached服务端安装过程如下

memcached安装前准备

1. 下载libevent(memcached服务端需要用到)

```
下载地址:http://libevent.org/
wget -c https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
``` 2. memcached下载,服务端程序 ```
下载地址:http://memcached.org/
http://www.memcached.org/files/memcached-1.4.26.tar.gz
```

安装memcached

1. 安装libevent

```
tar zxf libevent-2.0.22-stable.tar.gz #解压包
cd libevent-2.0.22-stable #进入到解压的目录
./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改
make; make install #编译+安装
``` 查看是否安装成功
```
ls -al /usr/local/lib |grep libevent
``` 2. 安装memcached ```
tar zxf memcached-1.4.26.tar.gz #解压包
cd memcached-1.4.26 #进入到解压的目录
./configure --with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致
make; make install #编译+安装
```

启动memcached

Memcached启动脚本,复制memcached源码目录下scripts/memcached.sysv到/etc/init.d/memcached

```
cp memcached-1.4.26/scripts/memcached.sysv /etc/init.d/memcached
``` 需要修改/etc/init.d/memcached如下行:
```
chown $USER /usr/local/bin/memcached
daemon /usr/local/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS
```
然后执行如下命令即可:
```
chmod 755 memcached
chkconfig --add memcached
chkconfig --level 235 memcached on
``` **启动memcached服务**
```
脚本启动方式
service memcached start
命令启动方式
/usr/local/memcached/bin/memcached -d -m 1024 -u root -p 11211 -c 1000 -P /tmp/memcached.pid
```

【附:启动命令参数如下表】

**启动方式:**
-d 以守护程序(daemon)方式运行
-u root 指定用户,如果当前为 root ,需要使用此参数指定用户
-P /tmp/a.pid 保存PID到指定文件 **内存设置:**
-m 1024 数据内存数量,不包含memcached本身占用,单位为 MB -M 内存不够时禁止LRU,报错
-n 48 初始chunk=key+suffix+value+32结构体,默认48字节
-f 1.25 增长因子,默认1.25
-L 启用大内存页,可以降低内存浪费,改进性能 **安全设置:**
-S 启用sasl安全验证功能,开启后,客户端需要提供用户名密码方能访问memcached **连接设置:**
-l 127.0.0.1 监听的 IP 地址,本机可以不设置此参数
-p 11211 TCP端口,默认为11211,可以不设置
-U 11211 UDP端口,默认为11211,0为关闭 **并发设置:**
-c 1024 最大并发连接数,默认1024,最好是200
-t 4 线程数,默认4。由于memcached采用NIO,所以更多线程没有太多作用
-R 20 每个event连接最大并发数,默认20
-C 禁用CAS命令(可以禁止版本计数,减少开销)

memcached客户端安装,这里主要是php的memcache扩展

安装php的memcache|memcached扩展(有2种扩展,一种是memcache,另一种是memcached)
Memcache for PHP Module pecl.php.net有两个memcache扩展: memcache memcached extension
memcached PHP extension for interfacing with memcached via libmemcached library memcached 的版本比较新,而且使用的是 libmemcached 库。libmemcached 被认为做过更好的优化,应该比 php only 版本的 memcache 有着更高的性能。所以这里安装的是memcached(假设php5.4已经安装在在/usr/local/php).

php的memcache扩展安装

1. php的memcache扩展下载地址
```
http://pecl.php.net/package/memcache
pecl.php.net/get/memcache-2.2.7.tgz
``` 2. php的memcache安装 ```
tar vxzf memcached-2.2.0.tgz
cd memcache-2.2.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php-5.4.41/bin/php-config
make
make install
```

php的memcached扩展安装

1. php的memcached扩展下载地址
```
http://pecl.php.net/package/memcached
http://pecl.php.net/get/memcached-2.2.0.tgz(必须要有libmemcached library) libmemcached :
libraryhttps://launchpad.net/libmemcached/+download
https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
``` 2. php的memcached安装 1)、先安装依赖库
```
tar -xzvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18.tar.gz
./configure
make
make install
``` 2)、安装memcached扩展
```
tar vxzf memcached-2.2.0.tgz
cd memcache-2.2.0
/usr/local/php/bin/phpize
如需启用sasl
启用SASL验证功能需要在编译时指定--enable-sasl参数,否则安装成功后,无法启用SASL
./configure --with-php-config=/usr/local/php-5.4.41/bin/php-config --enable-memcached --with-libmemcached-dir=/usr/local --disable-memcached-sasl
make
make install
```

php连接memcache测试

```
<?php
//memcached
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('username', 'Allen');
var_dump($m->get('username')); //memcache
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$key = 'memcache_key';
$mem->set($key, 'just a test',60);
$val = $mem->get($key);
echo $val;
```

Memcached服务安装的更多相关文章

  1. Memcached服务介绍及安装指南

    一.memcached服务介绍 1.为什么需要memcached服务 A:第一种场景 网站访问大多数情况下都需要查询数据库操作,如果网站的流量很大并且大多数的访问会造成数据库高负荷的状况下,由于大部分 ...

  2. 项目(九) 企业级Memcached服务应用实践

    一, Memcached介绍   1.1 Memcached与常见同类软件对比 (1)Memcached是什么? Memcached是一个开源的,支持高性能,高并发的分布式内存缓存系统,由C语言编写, ...

  3. 基于Ubuntu部署 memcached 服务

    系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 安装并启动 memcached 服务 安装 memcached 使用apt-get安装 memcached sudo apt-get ...

  4. 三,memcached服务的两种访问方式

    memcached有两种访问方式,分别是使用telnet访问和使用php访问. 1,使用telnet访问memcacehd 在命令提示行输入, (1)连接memcached指令:telnet 127. ...

  5. Linux实战教学笔记32:企业级Memcached服务应用实践

    一, Memcached介绍 1.1 Memcached与常见同类软件对比 (1)Memcached是什么? Memcached是一个开源的,支持高性能,高并发的分布式内存缓存系统,由C语言编写,总共 ...

  6. Linux安装Memcached服务

    环境: CentOS 6.4 libevent-1.4.14b-stable memcached-1.4.21 查看是否安装libevent[root@localhost ~]# rpm -qa |g ...

  7. mac 安装memcached服务

    使用homebrew安装,homebrew安装方法http://brew.sh/ 安装memcached服务 brew install memcached 配置开机启动(用brew安装之后下面会提示怎 ...

  8. 在Linux上安装Memcached服务

    下载并安装Memcache服务器端服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz ...

  9. memcached的安装和linux下memcached服务自启动的配置

    关于memcached在windows和linux环境的安装,以及在Linux系统系memcached服务自启动的配置,可以参考我在csdn上下的博客, windows和linux环境下memcach ...

随机推荐

  1. kvm 动态挂载硬盘

    根据最新需求需要动态的给kvm下的windows虚拟机挂载硬盘,网上查看了很多资料终于试通了,在这里记录下方便自己回忆,同事可以给大家做做参考,如果有问题欢迎吐槽 环境:先说说我使用的环境,环境是使用 ...

  2. IOS第三方数据库--FMDB 分类: ios技术 2015-03-01 09:38 57人阅读 评论(0) 收藏

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  3. UVa 11495 - Bubbles and Buckets

    题目大意:给一个有n个数的序列,通过交换相邻的逆序数使这个序列最终有序,求需要交换的次数. 本来可以用冒泡排序解决,但是n达到105,用冒泡排序会超时,用O(nlogn)的归并排序可以达到要求.< ...

  4. UVa 10827 - Maximum sum on a torus

    题目大意:UVa 108 - Maximum Sum的加强版,求最大子矩阵和,不过矩阵是可以循环的,矩阵到结尾时可以循环到开头.开始听纠结的,想着难道要分情况讨论吗?!就去网上搜,看到可以通过补全进行 ...

  5. Sed替换 内容带反斜杠(/)

    sed "s#XXXX#${NAME}#" $MAIL_CONTENT > /tmp/MAIL_CONTENT1.tmp -----不论什么字符,紧跟着s命令的都被认为是新的 ...

  6. 刪除預裝在windows 10 的app

    刪除預裝在windows 10 的app 步驟: 方法一.(易於解除安裝的app) 1. →按"開始標誌" →"所有應用程式" →在想解除的程式圖示上" ...

  7. 史上最全的css hack(ie6-9,firefox,chrome,opera,safari)

    <!DOCTYPE html> <html> <head> <title>Css Hack</title> <style> #t ...

  8. ajax 跨域了 cors

    <?php /** * Author: humanhuang * Date: 13-12-17 */ header('Access-Control-Allow-Origin:*'); heade ...

  9. 字符集UTF-8MB4 MySQL utf8mb4 字符集,用于存储emoji表情

    字符集UTF-8MB4 utf8mb4兼容utf8,且比utf8能表示更多的字符.看unicode编码区从1 - 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8m ...

  10. 常用SQL DDL语句

    常用SQL DDL语句 DDL-数据库定义语言:直接提交的.CREATE:用于创建数据库对象.DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似.唯一可以 ...