首页 > 代码库 > memcached详解

memcached详解

一、memcached简介

1.memcached是缓存服务器,也可以说是提供缓存功能的服务器,由前端程序来决定是否需要缓存。

前端程序收到请求后,把请求内容转发给后端服务(mysql,fastcgi等),服务将请求内容提供给前端应用后决定是否需要将其缓存至memcached。

2.memcached监听在tcp/udp的11211端口。

3.memcached程序依赖于libevent,yum安装不需要考虑依赖。http://memcached.org提供源码包

4.安装方式有epel源的rpm包,红帽6.4以后自带的yum源及编译安装。


二、memcached编译安装

  1. 下载memcacched-1.4.15.tar.gz    libevent-2.0.21-stable.tar.gz

  2. 先安装libevent,tar xf libevent-2.0.21-stable.tar.gz;

  3. cd libevent-2.0.21

  4. ./configure --prefix=/usr/local/libevent

  5. make && make install

  6. ln -sv /usr/local/libevent/include /usr/include/libevent

  7. vim /etc/ld.so.conf.d/libevent.conf

    /usr/local/libevent/lib   #添加头文件

  8. ldconfig  #重新导出


  9. tar xf memcached-1.4.15.tar.gz

  10. cd memcached-1.4.15

  11. ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

  12. make && make install


三、启动memcached

  1. /usr/local/memcached/bin/memcached 

  2. 添加sysV脚本 vim /etc/rc.d/init.d/memcached

  3. chmod +x /etc/rc.d/init.d/memcached

  4. chkconfig --add memcached

  5. service memcached start

  6. ss -tuanl | grep 11211  #查看服务启动

注:可以使用memcached的选项来启动  ./memcached -d -m 2048 -l 127.0.0.1 -p 11211


四、memcached使用

  1. memcached命令选项

    -p:指定tcp监听端口  默认11211

    -U:指定udp监听端口  默认11211

    -u:指定用户名

    -f:设定增长因子

    -l:指定监听的ip地址

    -d:以守护进程方式运行

    -m:最大使用内存

    -c:最大允许的链接个数,通常默认1024

    -v:显示详细信息

    -vv

    -vvv

2.memcached交互命令,参数

    存储类命令:set, add, replace, append, prepend

    获取数据类命令:get, delete, incr/decr

    统计类命令:stats, stats items, stats slabs, stats sizes

    清理命令:flush_all

  参数:key flags "expiration time" bytes

        value

3.简单命令使用示例:

    telnet 127.0.0.1 11211   #使用telnet链接memcached

    set mykey 0 0 5   #在缓存中添加一个键值对,键为mykey,过期时间为0

    abced             #值为abced

    STORED            #set可以添加键值对和修改值


    add seckey 0 0 5  #add仅用作添加新的键值对

    12345             #值

    STORED


    get mykey         #读取mykey的缓存

    VALUE mykey 0 5

    abced

    END


    replace key N N N  #当键存在时替换缓存中的值,如果键不存在则不生效

    delete keyname     #删除值


注:php加载memcached需要memcache模块,添加依赖路径,--enabled-memcache即可


五、管理工具memadmin,libmemcached/ 



本文出自 “滴不尽相思血泪抛红豆” 博客,请务必保留此出处http://beijgh.blog.51cto.com/8272564/1557530

memcached详解