linux下memcached安装以及php扩展,telnet连接等操作!

https://memcached.org/downloads        #官网地址
wget http://memcached.org/latest            #下载最新版本

《linux下memcached安装以及php扩展,telnet连接等操作!》 image.png

下载最新版本之后执行命令:tar -zxvf latest
切换到解压后的memcached目录执行命令:./configure --prefix=/usr/local/memcached #配置

《linux下memcached安装以及php扩展,telnet连接等操作!》 image.png

make  && make install  #编译安装
 
 
cd /usr/local/memcached/bin/  #切换到安装目录开启memcached服务

直接运行./memcached#会报错 can’t run as root without the -u switch
解决方法:

-d #后台运行服务
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服
-l 127.0.0.1 #连接的IP地址, 默认是本机
-p 11211 #监听的端口11211
-u root #指定用户root(也可用nobody作为用户)
-m 512 #最大内存使用,单位MB。默认64M
-M 内存耗尽时返回错误,而不是删除
-c 最大同时连接数,默认是102
-f 块大小增长因子,默认是1.2
-n 最小分配空间,key+value+flags默认是4
-h 显示帮助
./memcached -d -m 512 -l 127.0.0.1 -p 11211 -u root  #使用root开启memcached
./memcached -d -m 512 -p 11211 -u nobody  #使用nobody开启memcached

#############查看开启成功与否####################
ps -aux   #显示所有进程
ps -aux | grep memcached  #抓取memcached进程
ps -ef | grep memcached  #同上
netstat  -tunpl | grep 11211 #查看端口占用

《linux下memcached安装以及php扩展,telnet连接等操作!》 image.png

telnet命令行操作memcached:

连接:telnet IP port
命令格式:<command> <key> <flags> <exptime> <bytes>\r\n<data block>\r\n
添加:add key 0 0 5 \r\n val
替换:replace key 0 0 5 \r\n val
添加/替换:set key 0 0 5 \r\n val
获取:get key
删除:delete key
自增:incr key val
自减:decr key val
追加:append key 0 0 2 \r\n val
前加:prepend key 0 0 2 \r\n val
状态:stats
内存:stats slabs
清除所有数据:flush_all
版本:version
退出:quit

《linux下memcached安装以及php扩展,telnet连接等操作!》 1.png

telnet 127.0.0.1 11211  #提示未找到telnet时,需要安装telnet服务!
#输入Ctrl + ] 然后按Enter键进入telnet
telnet > #如果光标在此行,再按一次Enter键

 
flush_all  #清空所有数据
OK
set num 0 0 2 #设置num值永久存储2字节
10  #num的值为10
STORED     #存储成功
set user 0 0 5 
admin
STORED 
incr num 3    #num的值自增3
13
decr num 1 #num的值自减1
12
append user 0 0 4 #追加user的值4个字节
root #追加的val
STORED
get user #获取user的值
VALUE user 0 9
adminroot
END
append num 0 0 4 
root
STORED
get num
VALUE num 0 6
12root
END
prepend user 0 0 3 #user的值前面加3字节生成新值
001 #前加的3字节值
STORED
get user
VALUE user 0 12
001adminroot
END
prepend num 0 0 3
001
STORED
get num
VALUE num 0 9
00112root
END

memcached服务端只安装memcached就可以服务了,但要想成功安装php的memcached扩展,需要安装libmemcached客户端库, 因为该扩展是依赖libmemcached的API。

下载地址:http://libmemcached.org/libMemcached.html

tar -zxvf libmemcached-1.0.18.tar.gz

cd libmemcached-1.0.18

./configure  -prefix=/usr/local/libmemcached --with-memcached

make && make install




PHP添加memcached扩展:

php的memcached扩展下载地址:http://pecl.php.net/package/memcached

tar -zxvf memcached-3.0.4.tgz

cd memcached-3.0.4

ls

phpize


./configure --with-php-config=/usr/local/php/bin/php-config  #执行报错如下图

#先安装libmemcached成功后再执行下面命令安装
./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl

make 
make test   #Don't forget to run ‘make test’
make install 

要先安装libmemcached,否则报错!

《linux下memcached安装以及php扩展,telnet连接等操作!》 image.png

正确安装后会看到安装的memcached.so的位置:

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

然后切换到php安装目录找到php.ini文件,拉到最底部添加memcached扩展,重启php和nginx,刷新浏览器查看phpinfo是否加载memcached

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/memcached.so #添加memcached扩展绝对路径
service php-fpm restart  #重启php-fpm服务
service nginx restart  #重启nginx服务

php操作memcached简单demo测试:

<?php
$m = new Memcached;
$r1 = $m->addServer('127.0.0.1',11211) or die('connect failed’);
var_dump($r1);
$r2 = $m->set('name','admin');
var_dump($r2);
$r3 = $m->get('name');
var_dump($r3);
    原文作者:DragonersLi
    原文地址: https://www.jianshu.com/p/6ec869bce1e4
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞