zoukankan      html  css  js  c++  java
  • MemCahced 使用及常见问题说明

    前言

    本文档是针对Memcached使用及常见问题的说明。

     

    一.获取

    1. MemCached

    官网:http://www.memcached.org

    下载:http://memcached.org/latest                                         

    2. libevent

    http://www.monkey.org/~provos/libevent/

    https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz

    3. README

    获取Memcached,查看README

    二.Linux常用命令

     

    1. wget
    
    1)wget [参数] [URL地址]
    
    2)wget http://memcached.org/latest
    
    2. make
    
    1)./configure --prefix= usr/local
    
    2)make
    
    3)make install
    
    4)配置(configure)、编译(make)、安装(make install)。
    
    5)./configure --help
    
    3.telnet
    
    1)telnet [host [port]]
    
    2)telnet 172.16.50.238 11211
    
    3)提示Escape character is '^]'
    
    4)Ctrl + ] 呼出 telnet 命令行
    
    5)命令描述
    
    close       close current connection
    
    logout     forcibly logout remote user and close theconnection
    
    display     displayoperating parameters
    
    mode    try to enter line or character mode ('mode ?'for more)
    
    open      connect to a site
    
    quit       exit telnet
    
    send       transmit special characters ('send ?' formore)
    
    set        set operating parameters ('set ?' for more)
    
    unset      unset operating parameters ('unset ?' formore)
    
    status       print status information
    
    toggle      toggle operating parameters ('toggle ?' formore)
    
    slc        change state of special charaters ('slc ?' formore)
    
    auth       turn on (off) authentication ('auth ?' formore)
    
    encrypt     turnon (off) encryption ('encrypt ?' for more)
    
    forward    turnon (off) credential forwarding ('forward ?' for more)
    
    z         suspend telnet
    
    !         invoke a subshell
    
    environ    changeenvironment variables ('environ ?' for more)
    
    ?         print help information
    
    4.netstat
    
    1)常见参数 netstat --help
    
    -a      displayall sockets (default: connected)
    
    -n      don'tresolve names
    
    -l       displaylistening server sockets
    
    -p     display PID/Program name for sockets
    
    -r      displayrouting table
    
    -e      displayother/more information
    
    -s      displaynetworking statistics (like SNMP)
    
    -c     continuouslisting
    
    2)- 和 -- 即 简写 和 全拼
    View

    三.启动MemCached 服务

    1.安装libevent

    1)进入libevent解压目录

    2)./configure --prefix=/usr/local/libevent

    3)make

    4)make install

    5)产生

    /usr/local/libevent/bin

    /usr/local/libevent/lib

    /usr/local/libevent/include

    2.安装MemCache

    1)进入MemCache解压目录

    2)./configure --prefix=usr/local/memcached--with-libevent=usr/local/libevent

    3)make

    4)make install

    5)产生

    /usr/local/memcached/bin

    /usr/local/memcached/include

    /usr/local/memcached/share

    6)with-libevent 为依赖包名,见./configure --help

    3.执行命令启动服务

    1)进入安装目录bin

    2)./memcached -d -u root

    3)详细参数 ./memcached -help 查看

    -p      监听的TCP端口(默认: 11211) 

    -U     监听的UDP端口(默认: 11211, 0表示不监听)    

    -l       监听的IP地址,即访问权限(默认:INADDR_ANY,所有地址)

    -d      作为守护进程来运行,不依赖终端,系统关闭时退出 

    -u      设定进程所属用户(只有root用户可以使用这个参数) 

    -m     单个数据项的最大可用内存,以MB为单位(默认:64MB) 

    -M     内存用光时报错(而不是删除数据) 

    -c      最大并发连接数(默认:1024) 

    -v      提示信息(在事件循环中打印错误/警告信息。)    

    -P      保存进程ID到指定文件,只有在使用 -d 选项的时候才有意义。 

    -f      块大小增长因子。(默认:1.25) 

    -n      分配给key+value+flags的最小空间(默认:48 bytes) 

    -t       使用的线程数(默认:4) 

    -b      设置后台日志队列的长度(默认:1024) 

    -B     绑定协议 - 可能值:ascii,binary,auto(默认) 

    4)netstat -lp|grep memcached 查看服务是否启动

    4.查看服务是否启动成功

    1)netstat -lp|grep memcached

    5.测试服务

    1)telnet 172.16.50.238 11211

    2)命令格式

    <command name> <key> <flag> <expire> <bytes> 
    <data block>
    参数
    用法
    command name 命令名称
    key 查找关键字
    flag 存储额外信息
    expire 数据保存时间,0表示永远,单位秒
    bytes 存储数据的字节数
    data block 存储的数据(始终位于第二行)

    输入set id1 0 0 9

    输入123456789

    显示STORED

    输入get id1

    显示VALUE id1 0 9

    显示123456789

    显示END

    6.关闭服务

    1)kill [PID]

    四.命令

    1. set

    1)说明:存在时替换,不存在时添加。正确操作时响应STORED ,操作错误时响应CLIENT_ERROR baddata chunk 。bytes 需对应data block 大小。

    2)正确示例:

    set id1 0 0 9

    123456789

    STORED

    2.add

    1)说明:只有不存在时添加。key存在时响应 NOT_STORED 。

    2)正确示例:

    add id2 0 0 9

    987654321

    STORED

    3.replace

    1)说明:只替换已存在的key值。key 不存在时响应NOT_STORED 。

    2)正确示例:

    replace id1 0 0 9

    123123123

    STORED

    4.get

    1)说明:key存在时响应内容,不存在时响应内容为空。

    2)正确示例:

    get id1

    VALUE id1 0 9

    123123123

    END

    5.delete

    1)说明:key不存在时响应NOT_FOUND

    2)正确示例:

    delete id1

    DELETED

    6. flush_all

    1)说明:使已经存在的项目立即失效(缺省)

    7.gets

    1)说明:额外返回N , N为全局变量第N次修改。add id1 N=1 addid2 N=2 set id1 N=3 ,gets id1 额外返回3

    2)正确示例:

    gets id1

    VALUE id1 0 1 17

    d

    END

    8.cas

    1)说明:checked and set ,校验N 是否一致。

    2)正确示例:

    gets id2

    VALUE id2 0 1 22

    a

    END

    cas id2 0 0 1 22

    b

    STORED

    9.append

    1)说明:追加到右

    2)正确示例:

    get id2

    VALUE id2 0 1

    b

    END

    append id2 0 0 2

    cd

    STORED

    get id2

    VALUE id2 0 3

    bcd

    END

    10.prepend

    1)说明:追加到左。生命依附于被追加对象。被追加对象必须存在,否则NOT_STORED

    2)正确示例:

    prepend id3 0 0 1

    11. stats

    1)说明:查看状态

    2)如下:

    STAT pid 18820       进程id

    STAT uptime 9822   运行时间秒

    STAT time 1427274119    当前系统时间

    STAT version 1.4.22 版本号

    STAT libevent 2.0.22-stable    

    STAT pointer_size 64

    STAT rusage_user 0.006998    累计用户时间秒

    STAT rusage_system 0.013997 累计系统时间秒

    STAT curr_connections 5 当前连接数

    STAT total_connections 11      运行以来接收连接数

    STAT connection_structures 6  分配的连接结构数量

    STAT reserved_fds 20     

    STAT cmd_get 65    

    STAT cmd_set 43

    STAT cmd_flush 1

    STAT cmd_touch 0

    STAT get_hits 50             get命中次数

    STAT get_misses 15         get丢失次数

    STAT delete_misses 5

    STAT delete_hits 5

    STAT incr_misses 0

    STAT incr_hits 0

    STAT decr_misses 0

    STAT decr_hits 0

    STAT cas_misses 0

    STAT cas_hits 1

    STAT cas_badval 0

    STAT touch_hits 0

    STAT touch_misses 0

    STAT auth_cmds 0

    STAT auth_errors 0

    STAT bytes_read 1994            从网络读取到的总字节数

    STAT bytes_written 2296        向网络发送的总字节数

    STAT limit_maxbytes 67108864     允许使用总字节数,对应-m 设置的值

    STAT accepting_conns 1 

    STAT listen_disabled_num 0

    STAT threads 4

    STAT conn_yields 0

    STAT hash_power_level 16

    STAT hash_bytes 524288

    STAT hash_is_expanding 0

    STAT malloc_fails 0

    STAT bytes 73 已使用字节数

    STAT curr_items 1

    STAT total_items 33

    STAT expired_unfetched 1

    STAT evicted_unfetched 0

    STAT evictions 0

    STAT reclaimed 4

    STAT crawler_reclaimed 0

    STAT lrutail_reflocked 0

    12.stats item

    1)说明:是不是查看集群信息。可以查看记录数量。

    stats items

    STAT items:1:number 3

    STAT items:1:age 60

    STAT items:1:evicted 0

    STAT items:1:evicted_nonzero 0

    STAT items:1:evicted_time 0

    STAT items:1:outofmemory 0

    STAT items:1:tailrepairs 0

    STAT items:1:reclaimed 4

    STAT items:1:expired_unfetched 1

    STAT items:1:evicted_unfetched 0

    STAT items:1:crawler_reclaimed 0

    STAT items:1:lrutail_reflocked 0

    END

    13. stats cachedump slabs_id limit_num

    1)说明:slabs_id:由stats items返回的结果(STAT items后面的数字)决定的;limit_num:返回的记录数,0表示返回所有记录;通过stats items、stats cachedumpslab_id limit_num配合get命令可以遍历memcached的记录。从A#缓存堆取B条数据。

    2)正确示例:

    stats cachedump 1 0

    ITEM id3 [1 b; 1427264237 s]

    ITEM id2 [5 b; 1427264237 s]

    ITEM id1 [1 b; 1427264237 s]

    END

    14. stats slabs

    1)说明:显示各个slab的信息,包括chunk的大小、数目、使用情况等

    15. stats sizes

    1)说明:输出所有item的大小和个数

    16. stats reset

    1)说明:清空统计数据

  • 相关阅读:
    解析Jquery取得iframe中元素的几种方法
    jquery 金额转换成大写
    MVC 后台管理框架 FineUIMvc 在线示例
    7个高性能JavaScript代码高亮插件
    layer弹出信息框API
    【Bootstrap-插件使用】Jcrop+fileinput组合实现头像上传功能
    一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
    ASP.NET MVC 3 技术(九) 301永久重定向不带www域名到带www的域名
    ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
    ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩
  • 原文地址:https://www.cnblogs.com/zno2/p/4538721.html
Copyright © 2011-2022 走看看