码迷,mamicode.com
首页 > 系统相关 > 详细

memcache

时间:2016-01-16 07:40:28      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:memcache

yum install -y epel-release

yum install -y libevent memcached libmemcached 

/etc/init.d/memcached start

 

netstat -lnp |grep mem

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      


1549/memcached

 

ps aux |grep memcached

memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid


-d选项是启动一个守护进程

-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB 

-u是运行Memcache的用户,如果当前为 root 的话,需要使用此参数指定用户。 

-l是监听的服务器IP地址

-p是设置Memcache监听的端口,默认是11211

-c选项是最大运行的并发连接数,默认是1024

-P是设置保存Memcache的pid文件 



相关的参数在vim /etc/init.d/memcached 

 vim /etc/sysconfig/memcached

PORT="11211"

USER="memcached"

MAXCONN="1024"

CACHESIZE="128"

OPTIONS="-l 192.168.1.124"

 

查看memcached运行状态

 memcached-tool 127.0.0.1:11211 stats  

或者 echo stats |nc 127.0.0.1 11211 yum install -y nc

 若安装libmemcached后,可以使用命令

memstat --servers=127.0.0.1:11211   查看memcached服务状态




[root@bogon ~]# telnet 192.168.1.124 11211

Trying 192.168.1.124...

Connected to 192.168.1.124.

Escape character is ‘^]‘.

set key1 0(标记) 300 3

asd

STORED

get key1

VALUE key1 0 3

asd

END

set key2 111 20 5

asdfg

STORED

get key2

VALUE key2 111 5

asdfg

END


[root@bogon ~]# memcached-tool 192.168.1.124:11211 display

  #  Item_Size  Max_age   Pages   Count   Full?  Evicted Evict_Time OOM

  1      96B       330s       1       2      no        0        0    0



<command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n

<command name> 可以是”set”, “add”, “replace”。

set”表示按照相应的<key>存储该数据

,没有的时候增加,有的覆盖。

add”表示按照相应的<key>添加该数据,但是如果该<key>已>经存在则会操作失败。

replace”表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败。



PHP连接Memcached



PHP连接Memcached

先安装php的memcache扩展

tar zxf memcache-2.2.3.tgz 

cd memcache-2.2.3

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

安装完后会有类似这样的提示:

installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-

20090626/

把这个记住,

vim /usr/local/php/etc/php.ini

然后修改php.ini,把 extension_dir = "./" 修改为xtension_dir = "/usr/local/php/ext"

mkdir /usr/local/php/ext

cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so 


usr/local/php/ext

并添加一行xtension="memcache.so"

/usr/local/php/bin/php -m 查看是否有没有memcache.so 


下载测试php脚本

curl www.apelearn.com/study_v2/.memcache.txt > 1.php 2>/dev/null

/usr/local/php/bin/php 1.php



memcached实现session共享

本实例是在lamp/lnmp环境下实现

编辑php.ini添加两行

session.save_handler = memcache 

session.save_path = "tcp://192.168.0.9:11211" 

或者httpd.conf中对应的虚拟主机中添加

php_value session.save_handler "memcache" 

php_value session.save_path "tcp://192.168.0.9:11211" 

或者php-fpm.conf对应的pool中添加

php_value[session.save_handler] = memcache

php_value[session.save_path] = " tcp://192.168.0.9:11211 "


session.save_path =  如果memcached在其他的服务器上那么就写远程服务器的ip


Memcached session测试wget http://study.lishiming.net/.mem_se.txt

mv .mem_se.txt  /usr/local/apache2/htdocs/session.php

curl localhost/session.php

类似于1443702394<br><br>1443702394<br><br>i44nunao0g3o7vf2su0hnc5440

telnet 127.0.0.1 11211

get i44nunao0g3o7vf2su0hnc5440


本文出自 “10897714” 博客,请务必保留此出处http://10907714.blog.51cto.com/10897714/1735497

memcache

标签:memcache

原文地址:http://10907714.blog.51cto.com/10897714/1735497

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!