Memcached基本使用

memcached 是一个高效的分布式的内存对象缓存系统 ,他可以支持把各种数据(数组,对象,基本数据类型,资源除外)放入到它管理的内存中。它采用c/s结构,使用简单文本通讯并 基于libevent处理并发,将数据存入内存的缓存工具,它是基于 基于客户端的分布式,服务器端本身并不是分布式的。
win32系统下的安装步骤:
①下载memcached软件
②解压 其中有一个memcached.exe文件
③安装memcached –d install [卸载使用 memcached -d uninstall]
④启动 memcached 服务
(1)直接通过界面启动该服务
(2)在控制台下启动 memcached –d start   [命令一览表]
⑤查看memcached 服务是否启动成功! 默认端口11211 通过netstat -anb|find 11211命令可以查看
开启另一个端口,采用添加服务方法
####添加服务
sc create "memcached2 Server" binPath= "\"D:\dev_tool\memcache\memcached-1.2.1-win32\memcached.exe\" -p 11212  -m 50 -d runservice" type= "own" start= "demand" displayname= "memcached2_Server"
sc description "memcached2 Server" "memcached 1.2.3 port 11212"

------LINUX 

1.编译安装libevent

2.编译安装Memcached

在我写这篇文章的时候,libevent已经有1.4.8稳定版,Memcached Server已经有1.3.0版本。本文就以这两个版本为例,我的gcc是gcc version 3.3.4 (Debian 1:3.3.4-7)。

首先安装libevent

wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz

tar zxvf libevent-1.4.8-stable.tar.gz

cd libevent-1.4.8-stable

./configure –prefix=/usr 指定安装在/usr下。一开始我没有指定安装目录导致libevent安装在/usr/local/lib,导致Memcached安装后找不到libevent库,即使手工指定路径也不行

make && make install

make clean

然后安装Memcached Server

wget  http://www.danga.com/memcached/dist/memcached-1.3.0.tar.gz

tar zxvf memcached-1.3.0.tar.gz

cd memcached-1.3.0/

./configure --with-libevent=/usr 这里需要指定libevent的路径

make && make install

make clean

一眨眼功夫就都编译安装完成了。

测试下Memcached安装成功没:

/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

没错误提示的话,证明安装成功并且启动了Memcached服务了

/usr/local/bin/memcached -u root -d -m 100m -L -M -l 99.6.137.76 -p 11120-c 256-P /tmp/memcached.pid 
 
memcached的基本命令(安装、卸载、启动、配置相关):
-p 监听的端口 
-l 连接的IP地址, 默认是本机  
-d start 启动memcached服务 
-d restart 重起memcached服务 
-d stop|shutdown 关闭正在运行的memcached服务 
-d install 安装memcached服务 
-d uninstall 卸载memcached服务 
-u 以的身份运行 (仅在以root运行的时候有效) 
-m 最大内存使用,单位MB。默认64MB 
-M 内存耗尽时返回错误,而不是删除项 
-c 最大同时连接数,默认是1024 
-f 块大小增长因子,默认是1.25 
-l是监听的服务器IP地址,如果有多个地址的话
-n 最小分配空间,key+value+flags默认是48 
-P是设置保存Memcache的pid文件
-h 显示帮助 
 
如果要结束Memcache进程,执行:  kill `cat /tmp/memcached.pid` 
memcache的运行状态可以方便的用stats命令显示。
首先用 telnet 127.0.0.1 11211这样的命令连接上memcache,然后 直接输入stats就可以得到当前memcache的状态
服务器STATS信息
参数描述
pid7862 memcache服务器进程ID
uptime12617972服务器已运行秒数
time1320756409服务器当前Unix时间戳
version1.4.5 memcache版本
pointer_size64 操作系统指针大小
rusage_user1.731736进程累计用户时间
rusage_system251.421778进程累计系统时间
curr_connections41当前连接数量
total_connections848Memcached运行以来连接总数
connection_structures46Memcached分配的连接结构数量
cmd_get164377get命令请求次数
cmd_set58617set命令请求次数
cmd_flush0flush命令请求次数
get_hits105598get命令命中次数
get_misses58779get命令未命中次数
delete_misses0delete命令未命中次数
delete_hits0delete命令命中次数
incr_misses0incr命令未命中次数
incr_hits0incr命令命中次数
decr_misses0decr命令未命中次数
decr_hits0decr命令命中次数
cas_misses0cas命令未命中次数
cas_hits0cas命令命中次数
cas_badval0使用擦拭次数
auth_cmds0认证命令处理的次数
auth_errors0认证失败数目
bytes_read262113283读取总字节数
bytes_written460023263发送总字节数
limit_maxbytes536870912分配的内存总大小(字节)
accepting_conns1服务器是否达到过最大连接(0/1)
listen_disabled_num0失效的监听数
threads4当前线程数
conn_yields0连接操作主动放弃数目
bytes1941693当前存储占用的字节数
curr_items476当前存储的数据总数
total_items58617启动以来存储的数据总数
evictions0LRU释放的对象数目
reclaimed48830已过期的数据条目来存储新数据的数目

服务器SETTINGS信息
参数描述
maxbytes536870912最大字节数限制(0无限制)
maxconns1024允许最大连接数
tcpport11211TCP端口
udpport11211UDP端口
interNULLIP地址
verbosity0 日志(0=none,1=som,2=lots)
oldest0最老对象过期时间
evictionson是否禁用LRU(on/off)
domain_socketNULLSocket域名
umask700创建Socket的掩码
growth_factor1.25增长因子
chunk_size48chunk大小(key+value+flags)
num_threads4线程数(默认4,可通过-t参数设置)
stat_key_prefix: stats分隔符
detail_enabledno显示stats细节信息(yes/no)
reqs_per_event20最大IO吞吐量(每event)
cas_enabledyes是否启用CAS(yes/no,-C禁用)
tcp_backlog1024TCP监控日志
binding_protocolauto-negotiate绑定协议
auth_enabled_saslno是否启用SASL验证(yes/no)
item_size_max1048576数据最大尺寸

 

 
 

stats 显示服务器信息、统计数据等

stats reset 清空统计数据

stats malloc 显示内存分配数据

stats maps 这个不太确定,看源代码是把/proc/self/maps的数据显示出来。这个文件的数据貌似是动态库的映射地址?

stats cachedump slab_id limit_num 显示某个slab中的前limit_num个key列表,显示格式如下 ITEM key_name [ value_length b; expire_time|access_time s] 其中,memcached 1.2.2及以前版本显示的是 访问时间(timestamp) 1.2.4以上版本,包括1.2.4显示 过期时间(timestamp) 如果是永不过期的key,expire_time会显示为服务器启动的时间

 

stats cachedump 7 2 ITEM copy_test1 [250 b; 1207795754 s] ITEM copy_test [248 b; 1207793649 s]

stats slabs 显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats items 显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)

stats detail [on|off|dump] 设置或者显示详细操作记录 参数为on,打开详细操作记录 参数为off,关闭详细操作记录 参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数) stats detail dump PREFIX copy_test2 get 1 hit 1 set 0 del 0 PREFIX copy_test1 get 1 hit 1 set 0 del 0 PREFIX cpy get 1 hit 0 set 0 del 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值