memcache安装

-----NOSQL数据库

服务端安装


需要先安装libevent

wget http://120.52.73.43/jaist.dl.sourceforge.net/project/levent/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz

tar -zxvf libevent-2.0.22-stable.tar.gz

cd libevent-2.0.22-stable

./configure

make

make install

操作这个步骤,不然启动memcache报错

echo "/usr/local/lib/" > /etc/ld.so.conf.d/libevent.conf

ldconfig -v

安装memcache     memcached-1.4.25.tar.gz //服务端

wget http://www.memcached.org/files/memcached-1.4.25.tar.gz

tar zxvf memcached-1.4.25.tar.gz

cd memcached-1.4.25

./configure

make && make install

 命令  memcached  -h

//memcached   -m  内存   -p   端口  -d  后台启动     -u  root   -c 8192  并发连接数

memcached   -m   16m  -p  11211  -d   -u root -c 8192

memcached   -m   16m  -p  11212  -d   -u root -c 8192  //多实例

netstat -lntup | grep mem

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      10785/memcached

tcp        0      0 :::11211                    :::*                        LISTEN      10785/memcached

udp        0      0 0.0.0.0:11211               0.0.0.0:*                               10785/memcached

udp        0      0 :::11211                    :::*                                    10785/memcached

命令格式

printf "set key008  0 0 10\r\nhequan1234\r\n" | nc 127.0.0.1  11211

STORED                              //存进去了

printf "get  key008\r\n" | nc 127.0.0.1  11211               //delete

VALUE key008 0 10

hequan1234

END                                   //取出来了

telnet   127.0.0.1   11211

客户端安装

wget  http://pecl.php.net/get/memcache-3.0.8.tgz

tar zxvf memcache-3.0.8.tgz

cd memcache-3.0.8

/application/php/bin/phpize

 ./configure  --enable-memcache   --with-php-config=/application/php/bin/php-config

make

make install

查看目录

ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/

memcache.so

加载

vim /application/php/lib/php.ini

extension_dir = "/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/"

extension=memcache.so    //添加一行

重启

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

pkill php-fpm

/application/php/sbin/php-fpm

可以写一个测试php网页

<?php

    $memcache = new Memcache; //创建一个memcache对象

    $memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); //连接Memcached服务器

    $memcache->set('key001', 'oldboy001'); //设置一个变量到内存中,名称是key001值是oldboy001

    $memcache->set('key002', 'oldboy002'); //设置一个变量到内存中,名称是key002值是oldboy002

    $get_value01 = $memcache->get('key001'); //从内存中取出key001的值

    $get_value02 = $memcache->get('key002'); //从内存中取出key002的值

    echo $get_value02."<br>";

    echo $get_value01;

?>

集群session共享  可以解决多个服务器共用session的难题

session.save_handler = memcache 

session.save_path = "tcp://192/168.10.11:11211"

监控

#!/bin/sh

[ $# -ne 2 ]&&{

 echo "$0 ip port"

 exit

}

export oldboy=key

export wwwServerIp=$1

export wwwServerPort=$2

cmd="nc $wwwServerIp $wwwServerPort"

printf "delete $oldboy\r\n" | $cmd >/dev/null 2>&1

sleep 1

printf "set $oldboy 0 0 6\r\noldboy\r\n"|$cmd >/dev/null 2>&1

if [ `printf "get $oldboy\r\n"|$cmd|grep oldboy|wc -l` -eq 1 ]

  then

      echo "mc is alive."

      exit 0

else

      echo "mc is dead."

      exit 2

fi


你可能感兴趣的:(数据库,local,服务端)