`
wanxiaotao12
  • 浏览: 476689 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

memcache 及telnet 命令

 
阅读更多

1、启动Memcache 常用参数
memcached 1.4.3
-p <num> 设置端口号(默认不设置为: 11211)
-U <num> UDP监听端口 (默认: 11211, 0 时关闭)
-l <ip_addr> 绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d 独立进程运行
-u <username> 绑定使用指定用于运行进程 <username>
-m <num> 允许最大内存用量,单位M (默认: 64 MB)
-P <file> 将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用
如:
在linux下:./usr/local/bin/memcached -d -u jb-mc -l 192.168.1.197 -m 2048 -p 12121
在window下:d:\App_Serv\memcached\memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500
在windows下注册为服务后运行:
sc.exe create jb-Memcached binpath= “d:\App_Serv\memcached\memcached.exe -d RunService -p 11211 -m 500″ start= auto
net start jb-Memcached

2、telnet连接

telnet 127.0.0.1 11211

3、写入memcache

 

3.1 memcached Telnet Interface

Command Description Example
get Reads a value get mykey
set Set a key unconditionally set mykey 0 60 5
add Add a new key add newkey 0 60 5
replace Overwrite existing key replace key 0 60 5
append Append data to existing key append key 0 60 15
prepend Prepend data to existing key prepend key 0 60 15
incr Increments numerical key value by given number incr mykey 2
decr Decrements numerical key value by given number decr mykey 5
delete Deletes an existing key delete mykey
flush_all Invalidate specific items immediately flush_all
Invalidate all items in n seconds flush_all 900
stats Prints general statistics stats
Prints memory statistics stats slabs
Prints memory statistics stats malloc
Print higher level allocation statistics stats items
  stats detail
  stats sizes
Resets statistics stats reset
version Prints server version. version
verbosity Increases log level verbosity
quit Terminate telnet session quit

 

3.2 telnet请求命令格式

<command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n
a) <command name> 可以是”set”, “add”, “replace”
“set”表示按照相应的<key>存储该数据,没有的时候增加,有的覆盖。
“add”表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。
“replace”表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败

b) <key> 客户端需要保存数据的key。

c) <flags> 是一个16位的无符号的整数(以十进制的方式表示)。
该标志将和需要存储的数据一起存储,并在客户端get数据时返回。
客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。

d) <exptime> 过期的时间。
若为0表示存储的数据永远不过时(但可被服务器算法:LRU 等替换)。
如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。

e) <bytes> 需要存储的字节数(不包含最后的”\r\n”),当用户希望存储空数据时,<bytes>可以为0

f) 最后客户端需要加上”\r\n”作为”命令头”的结束标志。
<data block>\r\n

紧接着”命令头”结束之后就要发送数据块(即希望存储的数据内容),最后加上”\r\n”作为此次通讯的结束。

3.3 telnet响应命令

结果响应:reply
当以上数据发送结束之后,服务器将返回一个应答。可能有如下的情况:

a) “STORED\r\n”:表示存储成功
b) “NOT_STORED\r\n” : 表示存储失败,但是该失败不是由于错误。
通常这是由于”add”或者”replace”命令本身的要求所引起的,或者该项在删除队列之中。

如: set key 33 0 4\r\n
ffff\r\n

4、获取/检查KeyValue
get <key>*\r\n
a) <key>* 表示一个或者多个key(以空格分开)
b) “\r\n” 命令头的结束

结果响应:reply
服务器端将返回0个或者多个的数据项。每个数据项都是由一个文本行和一个数据块组成。当所有的数据项都接收完毕将收到”END\r\n”
每一项的数据结构:
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n

a) <key> 希望得到存储数据的key
b) <falg> 发送set命令时设置的标志项
c) <bytes> 发送数据块的长度(不包含”\r\n”)
d) “\r\n” 文本行的结束标志
e) <data block> 希望接收的数据项。
f) “\r\n” 接收一个数据项的结束标志。

如果有些key出现在get命令行中但是没有返回相应的数据,这意味着服务器中不存在这些项,这些项过时了,或者被删除了
如:get aa
VALUE aa 33 4
ffff
END

5、删除KeyValue:
delete <key> <time>\r\n

a) <key> 需要被删除数据的key
b) <time> 客户端希望服务器将该数据删除的时间(unix时间或者从现在开始的秒数)
c) “\r\n” 命令头的结束

6、检查Memcache服务器状态:
stats\r\n
在这里可以看到memcache的获取次数,当前连接数,写入次数,已经命中率等;

pid : 进程id
uptime :总的运行时间,秒数
time : 当前时间
version : 版本号
……
curr_items : 当前缓存中的KeyValue数量
total_items : 曾经总共经过缓存的KeyValue数量
bytes : 所有的缓存使用的内存量
curr_connections 当前连接数
….
cmd_get : 总获取次数
cmd_set : 总的写入次数
get_hits : 总的命中次数
miss_hits : 获取失败次数
…..
bytes_read : 总共读取的流量字节数
bytes_written : 总的写入流量字节
limit_maxbytes : 最大允许使用的内存量,字节

7、高级缓存细节查看方法:
stats reset
清空统计数据

stats malloc
显示内存分配数据

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的次数)

8、清空所有键值
flush_all
注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。

8、退出
quit\r\n

分享到:
评论

相关推荐

    memcache的配置及使用——memcache及其客户端telnet

    除了telnet,还有许多编程语言的客户端库,如PHP的`memcache`和`memcached`扩展,Python的`pylibmc`,Java的`spymemcached`等。这些库提供了更方便的API来操作Memcached,如`set`、`get`、`delete`方法,并支持序列...

    php Memcache常用命令

    **PHP中的Memcache缓存技术** Memcache是一种广泛使用的分布式内存缓存系统,它能够显著提升Web...通过正确地设置Memcache服务器,并有效地使用这些命令,可以优化内存使用,提高数据读取速度,从而提升整体应用性能。

    Memcache常用命令.docx

    - **quit**:终止 telnet 会话。 #### 四、Memcached 运行状态参数 通过 stats 命令,还可以获取到一系列反映 Memcached 运行状态的重要参数: - **pid**:Memcache 服务器的进程 ID。 - **uptime**:服务器已经...

    memcache安装与基本操作详解

    4. **连接测试**:通过telnet工具连接到本地Memcache服务,端口号为11211: ```bash telnet 127.0.0.1 11211 ``` 若在安装过程中出现缺少文件的情况,可按照以下步骤操作: - **下载扩展**:下载`memcache.dll`...

    windows本地开启memcache服务

    以下是对如何在Windows上开启Memcache服务的详细步骤及相关的知识点: 首先,你需要下载Memcache的Windows版本,这通常是一个.zip或.exe压缩包,如你提供的"memcache"。解压缩这个文件,你会得到一个名为"memcached...

    telnet连接操作memcache服务器详解

    本文将深入讲解如何通过telnet工具来连接和管理memcache服务器,包括连接、添加/修改缓存、读取缓存、删除缓存以及清空所有缓存等操作。 首先,我们要确保memcache服务已经正确安装并启动。在Linux环境下,通常通过...

    在telnet下操作memcache详解(操作命令详解)

    首先,要连接到Memcache服务器,可以使用telnet命令。例如,如果你的Memcache服务运行在本地主机的11211端口,可以输入以下命令: ```bash telnet 127.0.0.1 11211 ``` 一旦连接成功,你可以开始执行各种操作。 *...

    Memcache常用命令.pdf

    - `quit`: 终止telnet会话。 #### 三、查看Memcached服务器状态的关键字中英文对照表 - **pid**: memcache 服务器的进程ID - **uptime**: 服务器已经运行的秒数 - **time**: 服务器当前的unix时间戳 - **version*...

    memcache使用

    2. 使用telnet命令进行测试。打开命令提示符,输入`telnet localhost 12345`(替换为实际端口)。在telnet会话中,输入`stats`,随后应显示服务器的统计信息,包括运行时间、版本、连接数、存储和获取操作的统计等。...

    memcache win7 64位 安装文件

    4. **验证安装**:在命令行中输入`net start memcached`启动服务,然后通过`telnet localhost 11211`测试连接,如果成功,说明Memcache已经安装并运行。 5. **集成到Web应用程序**:为了在PHP、Python、Java等应用...

    memcache(win32/64)

    5. **测试连接**: 使用telnet命令测试memcache服务是否正常工作,例如:“telnet localhost 11211”,如果成功,你应能看到一个空白的窗口,表示连接已建立。 **memcache的工作原理**: - **内存存储**: memcache...

    memcache window 安装下载

    在命令行中输入以下命令来启动Memcache服务: ``` memcached.exe -d install ``` 这会安装Memcache为Windows服务。接下来,你可以启动服务: ``` memcached.exe -d start ``` 你可以通过添加参数来定制Memcache的...

    memcache软件和+教程

    - **命令接口**:Memcache提供了简单的文本协议,可以通过telnet命令行工具直接与服务交互,进行存取操作。 - **基本操作**:主要包括`set`(存储数据)、`get`(获取数据)、`delete`(删除数据)和`increment/...

    memcache安装

    可以使用telnet等工具来测试Memcache服务是否正常工作: ```bash telnet localhost 11211 ``` 输入`stats`后回车,如果能够返回类似如下的一系列统计信息,则表示Memcache服务已经启动并且可以正常使用: `...

    memcache安装包.zip

    3. 使用telnet工具连接到Memcached服务器,如`telnet localhost 11211`,然后尝试set和get操作验证功能。 **使用场景与注意事项** Memcached适用于需要快速缓存数据的应用,如Web应用的session存储、高并发的...

    java memcache使用例子

    你可以通过telnet命令来测试连接: ```bash telnet localhost 11211 ``` 如果连接成功,你应该看到一个空行等待输入。 接下来,我们将讨论如何在Java中使用Memcached。常见的Java Memcached客户端库有spymemcached...

Global site tag (gtag.js) - Google Analytics