memcache安装部署
2016-03-18 16:18
477 查看
安装部署
memcached安装需要libevent包的支持
如果没有出错,安装成功
启动memcached服务
一般情况下,简单的可以使用类似如下形式启动memcached服务:
停止memcache
可以通过Linux的如下命令查询到Memcached的进程号:
Memcached启动以后,可以通过客户端来操作缓存中的数据,我们说明一些常用的客户端,及其使用方法。
Telnet客户端
Telnet客户端可以通过命令行的方式来监控查看Memcached服务器存储数据的情况。例如,Memcached的服务地址为192.168.4.86:11211,可以telnet到该服务端口:
stats命令
memcache命令:
命令语法:
1 存储命令的格式:
[/code]
解释:
<command name>: set/add/replace
<key>: 存储的键名
<flag>: 客户机使用它存储关于键值对的额外信息 数字类型
<exptime>: 该数据的存活时间,0表示永远
<bytes>:存储的value的值得字节数,比如 value='super',则bytes=5
<data block>: key-value的value
文章引用:http://shiyanjun.cn/archives/873.html
memcached安装需要libevent包的支持
1 wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz 2 tar xvzf libevent-1.4.14b-stable.tar.gz 3 ln -s /usr/local/libevent-1.4.14b-stable /usr/local/libevent 4 cd /usr/local/libevent 5 ./configure 6 make 7 make install安装memcached
1 wget http://www.memcached.org/files/memcached-1.4.20.tar.gz 2 tar xvzf memcached-1.4.20.tar.gz 3 ln -s /usr/local/memcached-1.4.20 /usr/local/memcached 4 ./configure --with-libevent=/usr/local/libevent/ 5 make 6 make install
如果没有出错,安装成功
启动memcached服务
一般情况下,简单的可以使用类似如下形式启动memcached服务:
/usr/local/bin/memcached -d -m 64 -I 20m -u root -l 192.168.2.129 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid上述命令行中,基于上面各个选项,以及其他一些选项的含义,说明如下表所示:上述命令行中,基于上面各个选项,以及其他一些选项的含义,说明如下表所示:
选项 | 含义说明 |
-d | 指定memcached进程作为一个守护进程启动 |
-m <num> | 指定分配给memcached使用的内存,单位是MB |
-u <username> | 运行memcached的用户 |
-l <ip_addr> | 监听的服务器IP地址,如果有多个地址的话,使用逗号分隔,格式可以为“IP地址:端口号”,例如:-l 指定192.168.0.184:19830,192.168.0.195:13542;端口号也可以通过-p选项指定 |
-p <num> | Memcached监听的端口,要保证该端口号未被占用 |
-c <num> | 设置最大运行的并发连接数,默认是1024 |
-R <num> | 为避免客户端饿死(starvation),对连续达到的客户端请求数设置一个限额,如果超过该设置,会选择另一个连接来处理请求,默认为20 |
-k | 设置锁定所有分页的内存,对于大缓存应用场景,谨慎使用该选项 |
-P | 保存memcached进程的pid文件 |
-s <file> | 指定Memcached用于监听的UNIX socket文件 |
-a <perms> | 设置-s选项指定的UNIX socket文件的权限 |
-U <num> | 指定监听UDP的端口,默认11211,0表示关闭 |
-M | 当内存使用超出配置值时,禁止自动清除缓存中的数据项,此时Memcached不可以,直到内存被释放 |
-r | 设置产生core文件大小 |
-f <factor> | 用于计算缓存数据项的内存块大小的乘数因子,默认是1.25 |
-n | 为缓存数据项的key、value、flag设置最小分配字节数,默认是48 |
-C | 禁用CAS |
-h | 显示Memcached版本和摘要信息 |
-v | 输出警告和错误信息 |
-vv | 打印信息比-v更详细:不仅输出警告和错误信息,也输出客户端请求和响应信息 |
-i | 打印libevent和Memcached的licenses信息 |
-t <threads> | 指定用来处理请求的线程数,默认为4 |
-D <char> | 用于统计报告中Key前缀和ID之间的分隔符,默认是冒号“:” |
-L | 尝试使用大内存分页(pages) |
-B <proto> | 指定使用的协议,默认行为是自动协商(autonegotiate),可能使用的选项有auto、ascii、binary。 |
-I <size> | 覆盖默认的STAB页大小,默认是1M |
-F | 禁用flush_all命令 |
-o <options> | 指定逗号分隔的选项,一般用于用于扩展或实验性质的选项 |
可以通过Linux的如下命令查询到Memcached的进程号:
1 ps -ef | grep memcached然后杀掉Memcached服务进程:
1 kill -9 <PID>-9表示强制杀掉进程。
Memcached启动以后,可以通过客户端来操作缓存中的数据,我们说明一些常用的客户端,及其使用方法。
Telnet客户端
Telnet客户端可以通过命令行的方式来监控查看Memcached服务器存储数据的情况。例如,Memcached的服务地址为192.168.4.86:11211,可以telnet到该服务端口:
telnet 192.168.4.86 11211如果连接成功,可以使用如下一些命令:
stats命令
STAT pid 22362 //memcache服务器的进程ID www.2cto.com 02 STAT uptime 1469315 //服务器已经运行的秒数 03 STAT time 1339671194 //服务器当前的unix时间戳 04 STAT version 1.4.9 //memcache版本 05 STAT libevent 1.4.9-stable //libevent版本 06 STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统) 07 STAT rusage_user 3695.485200 //进程的累计用户时间 08 STAT rusage_system 14751.273465 //进程的累计系统时间 09 STAT curr_connections 69 //服务器当前存储的items数量 10 STAT total_connections 855430 //从服务器启动以后存储的items总数量 11 STAT connection_structures 74 //服务器分配的连接构造数 12 STAT reserved_fds 20 // 13 STAT cmd_get 328806688 //get命令(获取)总请求次数 14 STAT cmd_set 75441133 //set命令(保存)总请求次数 www.2cto.com 15 STAT cmd_flush 34 //flush命令请求次数 16 STAT cmd_touch 0 //touch命令请求次数 17 STAT get_hits 253547177 //总命中次数 18 STAT get_misses 75259511 //总未命中次数 19 STAT delete_misses 4 //delete命令未命中次数 20 STAT delete_hits 565730 //delete命令命中次数 21 STAT incr_misses 0 //incr命令未命中次数 22 STAT incr_hits 0 //incr命令命中次数 23 STAT decr_misses 0 //decr命令未命中次数 24 STAT decr_hits 0 //decr命令命中次数 25 STAT cas_misses 0 //cas命令未命中次数 26 STAT cas_hits 0 //cas命令命中次数 27 STAT cas_badval 0 //使用擦拭次数 28 STAT touch_hits 0 //touch命令未命中次数 29 STAT touch_misses 0 //touch命令命中次数 30 STAT auth_cmds 0 //认证命令处理的次数 31 STAT auth_errors 0 //认证失败数目 32 STAT bytes_read 545701515844 //总读取字节数(请求字节数) 33 STAT bytes_written 1649639749866 //总发送字节数(结果字节数) 34 STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节) 35 STAT accepting_conns 1 //服务器是否达到过最大连接(0/1) 36 STAT listen_disabled_num 0 //失效的监听数 37 STAT threads 4 //当前线程数 38 STAT conn_yields 14 //连接操作主动放弃数目 39 STAT hash_power_level 16 // 40 STAT hash_bytes 524288 41 STAT hash_is_expanding 0 42 STAT expired_unfetched 30705763 43 STAT evicted_unfetched 0 44 STAT bytes 61380700 //当前存储占用的字节数 45 STAT curr_items 28786 //当前存储的数据总数 46 STAT total_items 75441133 //启动以来存储的数据总数 47 STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items) 48 STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目
memcache命令:
命令语法:
1 存储命令的格式:
<command name> <key> <flags> <exptime> <bytes>
<data block>
[/code]
解释:
<command name>: set/add/replace
<key>: 存储的键名
<flag>: 客户机使用它存储关于键值对的额外信息 数字类型
<exptime>: 该数据的存活时间,0表示永远
<bytes>:存储的value的值得字节数,比如 value='super',则bytes=5
<data block>: key-value的value
命令 | 用法格式 | 含义说明 | 示例 |
get | get <key>*\r\n | 用于获取缓存的数据,键为key。 | get name VALUE name 0 7 shirdrn END |
gets | gets <key>*\r\n | 用于获取缓存的数据,键为一组key。 | gets name hobby VALUE name 1 7 1234567 VALUE hobby 0 25 tenis basketball football END |
set | set <key> <flags> <exptime> <bytes> [noreply]\r\n<value>\r\n | 向缓存中存储数据,不管key对应的值存在与否,都设置key对应的值。 | set name 0 1800 7 shirdrn STORED get name VALUE name 0 7 shirdrn END |
touch | touch <key> <exptime> [noreply]\r\n | 更新缓存中key对应的值的过期时间。 | touch name 1800 |
delete | delete <key> [<time>] [noreply]\r\n | 给定键key,删除缓存中key对应的数据。 | delete name 60 |
add | add <key> <flags> <exptime> <bytes> [noreply]\r\n<value>\r\n | 向缓存中存储数据,只有key对应的值不存在时,才会设置key对应的值。 | add hobby 0 1800 10 basketball STORED get hobby VALUE hobby 0 10 basketball END |
replace | replace <key> <flags> <exptime> <bytes> [noreply]\r\n<value>\r\n | 覆盖一个已经存在Key及其对应的Value,替换一定要保证替换后的值的长度原始长度相同,否则replace失败。 | get name VALUE name 0 7 shirdrn END replace name 0 1800 7 youak47 STORED get name VALUE name 0 7 youak47 END |
append | append <key> <flags> <exptime> <bytes> [noreply]\r\n<value>\r\n | 在一个已经存在的数据值(value)上追加,是在数据值的后面追加。 | get hobby VALUE hobby 0 10 basketball END append hobby 0 1800 9 football STORED get hobby VALUE hobby 0 19 basketball football END |
prepend | prepend <key> <flags> <exptime> <bytes> [noreply]\r\n<value>\r\n | 在一个已经存在的数据值(value)上追加,是在数据值的前面追加。 | get hobby VALUE hobby 0 19 basketball football END prepend hobby 0 1800 6 tenis STORED get hobby VALUE hobby 0 25 tenis basketball football END |
incr | incr <key> <value> [noreply]\r\n | 计数命令,可以在原来已经存在的数字上进行累加求和,计算并存储新的数值。 | set active_users 0 1000000 7 1000000 STORED get active_users VALUE active_users 0 7 1000000 END incr active_users 99 1000099 |
decr | decr <key> <value> [noreply]\r\n | 计数命令,可以在原来已经存在的数字上进行减法计算,计算并存储新的数值。 | get active_users VALUE active_users 0 7 1000099 END decr active_users 3456 996643 |
flush_all | flush_all [<time>] [noreply]\r\n | 使缓存中的数据项失效,可选参数是在多少秒后失效。 | flush_all 1800 |
version | version\r\n | 返回Memcached服务器的版本信息。 | version |
quit | quit\r\n | 退出telnet终端。 | quit |
相关文章推荐
- Memcache Brief Intro
- memcached php扩展(二)
- Memcached(3)-------Memcached的内存存储理解
- 基于Memcached的Session共享问题
- linux memcache 安装
- NoSQL -- memcache安装 加载php 共享session
- MemCache超详细解读
- memcached对nginx负载tomcat集群共享session
- mysql memcached 初探
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Memcache引入Repcached组件做HA高可用方案
- Linux上安装memcached
- memcache与redis lru 一致性hash 缓存雪崩 缓存无底洞 永久数据被踢现象
- Linux下memcache的安装和启动
- Redis与Memcached的区别
- memcached的安装与开启脚本
- MemCache超详细解读
- MemCache超详细解读
- memcached的安装
- Memcached(2)------实例使用