美文网首页
linux下memcached安装以及php扩展,telnet连

linux下memcached安装以及php扩展,telnet连

作者: DragonersLi | 来源:发表于2018-01-13 02:38 被阅读207次
    https://memcached.org/downloads        #官网地址
    wget http://memcached.org/latest            #下载最新版本
    
    image.png
    下载最新版本之后执行命令:tar -zxvf latest
    切换到解压后的memcached目录执行命令:./configure --prefix=/usr/local/memcached #配置
    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 #查看端口占用
    
    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
    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,否则报错!


    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);
    

    相关文章

      网友评论

          本文标题:linux下memcached安装以及php扩展,telnet连

          本文链接:https://www.haomeiwen.com/subject/ebrgrxtx.html