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)说明:清空统计数据
MemCahced 使用及常见问题说明的更多相关文章
- C++常见笔试面试要点以及常见问题
1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...
- SQL Server常见问题介绍及快速解决建议
前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题.这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架. 下面一些问题是 ...
- 【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w 作者:腾讯TMQ专项测 ...
- mysql数据库开发常见问题及优化
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...
- 《PDF.NE数据框架常见问题及解决方案-初》
<PDF.NE数据框架常见问题及解决方案-初> 1.新增数据库后,获取标识列的值: 解决方案: PDF.NET数据框架,已经为我们考略了很多,因为用PDF.NET进行数据的添加操作时 ...
- MIS性能优化常见问题与方案(辅助项目组性能优化的总结贴)
最近帮忙公司的几个项目组进行了不同方面的性能优化,发现几个项目都出现了一些共性的问题.这里写一篇文章,总结一下这几类问题,以及其对应的解决方案.方便其它项目组参考. 常见问题一:打开页面非常慢,有 ...
- JMeter常见问题集合
前言 本文内容仅仅是针对Jmeter的部分功能名词的介绍和解释,以及初学者不易理解的问题的整理.部分内容来自别人做的整理,为了更好地整理自己的思路,所以可耻的整理一下发到博客上. 标题[1-6]和[参 ...
- NHibernate常见问题及解决方法
NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end ...
- .NET Core中ADO.NET SqlClient的使用与常见问题
一.简介 在很多要求性能的项目中,我们都要使用传统的ADO.NET的方式来完成我们日常的工作:目前有一些网友问有关于.NET Core操作SQL Server的问题在本文中解答一下. 本文旨在指出,在 ...
随机推荐
- xcopy 复制目录及子目录
例:将a文件夹内的所有内容(包括子文件夹)复制到b文件夹 xcopy a\* b /y /e /i /q 说明: /y:不弹出“确认是否覆写已存在目标文件”的提示 /e:复制文件及子文件夹内所有内容, ...
- PAXOS/RAFT理解
PAXOS学习记录 前提: 信息准确无篡改,通信环境可信 目的: 解决多结点间一致性问题(集群中一个修改或者申请成为主结点的提议) 主要角色: Proposer :提出议案(同时存在一个或者多个,他们 ...
- springMVC学习记录2-使用注解配置
前面说了一下使用xml配置springmvc,下面再说说注解配置.项目如下: 业务很简单,主页和输入用户名和密码进行登陆的页面. 看一下springmvc的配置文件: <?xml version ...
- AutoConfig工具使用
下载安装Auto工具包: http://code.taobao.org/mvn/repository/com/alibaba/citrus/tool/antx-autoconfig/1.0.9/ant ...
- LitJson JavaScriptSerializer
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- php的websocket
对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1. 什么是TCP/IP.UDP?2. Sock ...
- sdc docker连接
curl -O https://raw.githubusercontent.com/joyent/sdc-docker/master/tools/sdc-docker-setup.sh &&a ...
- 基于JS的文本验证
1,不能为空 <input type="text" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert(' ...
- ftp使用(图文详解)
41,准备: FileZilla_Server-v0.9.41.rar 2.安装,可以全部默认下一步 这里装在了E盘 3安装成功添加用户 添加用户名yanan 选择share folders选择要共享 ...
- LSTM Accuracy
Training iter #1: Batch Loss = 1.234543, Accuracy = 0.29866665601730347PERFORMANCE ON TEST SET: Batc ...