`
chembo
  • 浏览: 941286 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

memcached telnet 命令与返回结果详解

阅读更多
参数不算多,我们来启动一个Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10  -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`

get key1
END
set key1 0 3600 3
123
STORED
incr key1 5
128
decr key1 5
123
delete key1
DELETED
get key1
END
quit

delete 命令格式: delete <key>


基本 memcached 客户机命令

您将使用五种基本 memcached 命令执行最简单的操作。这些命令和操作包括:

set
add
replace
get
delete
前三个命令是用于操作存储在 memcached 中的键值对的标准修改命令。它们都非常简单易用,且都使用清单 5 所示的语法:


清单 5. 修改命令语法


command <key> <flags> <expiration time> <bytes>
<value>
表 1 定义了 memcached 修改命令的参数和用法。


表 1. memcached 修改命令参数

参数 用法
key key 用于查找缓存值
flags 可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time 在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes 在缓存中存储的字节点
value 存储的值(始终位于第二行)
现在,我们来看看这些命令的实际使用。

1)set
set 命令用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。

注意以下交互,它使用了 set 命令:

set userId 0 0 5
12345
STORED

2)add
仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应NOT_STORED。

3)replace
仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那么您将从 memcached 服务器接受到一条 NOT_STORED 响应。

4)get
get 命令用于检索与之前添加的键值对相关的值。您将使用 get 执行大多数检索操作。

5)delete
最后一个基本命令是 delete。delete 命令用于删除 memcached 中的任何现有值。您将使用一个键调用 delete,如果该键存在于缓存中,则删除该值。如果不存在,则返回一条 NOT_FOUND 消息。

6)gets
gets 命令的功能类似于基本的 get 命令。两个命令之间的差异在于,gets 返回的信息稍微多一些:64 位的整型值非常像名称/值对的 “版本” 标识符。

7)cas
cas(check 和 set)是一个非常便捷的 memcached 命令,用于设置名称/值对的值(如果该名称/值对在您上次执行 gets 后没有更新过)。它使用与 set命令相类似的语法,但包括一个额外的值:gets 返回的额外值。

set userId 0 0 5
55555
STORED

gets userId
VALUE userId 0 5 6
55555
END

cas userId 0 0 5 6
33333
STORED


8)stats
stats 命令的功能正如其名:转储所连接的 memcached 实例的当前统计数据。在下例中,执行 stats 命令显示了关于当前 memcached 实例的信息:

STAT pid 22459                             进程ID
STAT uptime 1027046                        服务器运行秒数
STAT time 1273043062                       服务器当前unix时间戳
STAT version 1.4.4                         服务器版本
STAT pointer_size 64                       操作系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000                  进程累计用户时间
STAT rusage_system 0.260000                进程累计系统时间
STAT curr_connections 10                   当前打开连接数
STAT total_connections 82                  曾打开的连接总数
STAT connection_structures 13              服务器分配的连接结构数
STAT cmd_get 54                            执行get命令总数
STAT cmd_set 34                            执行set命令总数
STAT cmd_flush 3                           指向flush_all命令总数
STAT get_hits 9                            get命中次数
STAT get_misses 45                         get未命中次数
STAT delete_misses 5                       delete未命中次数
STAT delete_hits 1                         delete命中次数
STAT incr_misses 0                         incr未命中次数
STAT incr_hits 0                           incr命中次数
STAT decr_misses 0                         decr未命中次数
STAT decr_hits 0                           decr命中次数
STAT cas_misses 0    cas未命中次数
STAT cas_hits 0                            cas命中次数
STAT cas_badval 0                          使用擦拭次数
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785                      读取字节总数
STAT bytes_written 15222                   写入字节总数
STAT limit_maxbytes 1048576                分配的内存数(字节)
STAT accepting_conns 1                     目前接受的链接数
STAT listen_disabled_num 0               
STAT threads 4                             线程数
STAT conn_yields 0
STAT bytes 0                               存储item字节数
STAT curr_items 0                          item个数
STAT total_items 34                        item总数
STAT evictions 0                           为获取空间删除item的总数

9)flush_all
flush_all 是最后一个要介绍的命令。这个最简单的命令仅用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态,则 flush_all 能提供很大的用处。下面是一个使用 flush_all 的例子:

view plaincopy to clipboardprint?
set userId 0 0 5
55555
STORED
get userId
VALUE userId 0 5
55555
END
flush_all
OK
get userId
END


10)计算缓存命中率

view plaincopy to clipboardprint?
                
stats
STAT pid 6825
STAT uptime 540692
STAT time 1249252262
STAT version 1.2.6
STAT pointer_size 32
STAT rusage_user 0.056003
STAT rusage_system 0.180011
STAT curr_items 595
STAT total_items 961
STAT bytes 4587415
STAT curr_connections 3
STAT total_connections 22
STAT connection_structures 4
STAT cmd_get 2688
STAT cmd_set 961
STAT get_hits 1908
STAT get_misses 780
STAT evictions 0
STAT bytes_read 5770762
STAT bytes_written 7421373
STAT limit_maxbytes 536870912
STAT threads 1
END

现在,用 get_hits 的数值除以 cmd_gets。在本例中,您的命中率大约是 71%。在理想情况下,您可能希望得到更高的百分比 — 比率越高越好
分享到:
评论

相关推荐

    Memcached原理和使用详解.docx

    Memcached原理和使用详解 Memcached是一种高性能的分布式内存缓存服务器,主要用于减少数据库查询次数,提高动态Web应用的速度和可扩展性。其开发团队来自LiveJournal,官网为http://www.danga.com/memcached/。 ...

    windows 上的安装Memcached及Memcached配置

    通过telnet工具连接至本地Memcached服务(默认端口11211),使用`stats`命令查询服务状态,返回的信息包括: - `time`: 当前Unix时间戳。 - `total_items`: 自服务启动以来存储的items总数。 - `connection_...

    安装Memcached及Memcached配置.doc

    可以使用 Telnet 连接 Memcached 服务,例如 `telnet 127.0.0.1 11211`,然后使用 `stats` 命令查看缓存服务的状态。会返回如下的数据: * `time` 服务器当前的 Unix 时间戳 * `total_items` 从服务器启动以后存储...

    Memcached windows 下安装与测试

    **Memcached Windows 下安装与测试详解** Memcached是一款高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载。它通过在内存中存储数据和对象来加速动态Web应用的运行速度。在Windows...

    开发文档 memcached的基本命令

    **知识点详解:memcached的基本命令与管理** Memcached是一款高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态Web应用,提升网站访问速度。本文将深入解析memcached的基本命令,涵盖其安装、配置、...

    memcached 安装

    **Memcached 安装详解** Memcached 是一个高性能的分布式内存对象缓存系统,它能够通过缓存数据库查询结果来减少数据库访问,从而提高Web应用的性能。在本文中,我们将详细探讨如何在Linux环境下安装和配置...

    memcached中文学习文档

    ### Memcached中文学习文档知识点详解 #### 一、Memcached简介 Memcached是一种高性能的分布式内存对象缓存系统,用于加速动态Web应用程序通过减轻数据库负载。它通过在内存中缓存数据和对象来减少数据库访问的频率...

    linux环境下memcached安装以及配置使用

    ### Linux环境下Memcached安装及配置使用详解 #### 一、Memcached简介 Memcached是一款高性能、分布式内存对象缓存系统,用于加速动态Web应用程序的速度,减轻数据库负担。它通过在内存中缓存数据和对象来减少读取...

    memcached-1.2.1-windows系统 服务器端,外带详细配置说明

    在Windows环境下,可以通过telnet或者专门的客户端工具(如 `Memcached Manager`)与 `memcached` 进行交互,进行添加、删除、检索和更新缓存的操作。同时,`memcached` 支持多种编程语言的客户端库,如PHP、Python...

    memcached详细安装

    ### Memcached 安装与配置详解 #### 一、Memcached 概述 Memcached 是一款高性能的分布式内存缓存服务器,由 LiveJournal 旗下的 Danga Interactive 公司的 Brad Fitzpatrick 领导开发。它被广泛应用于提高 Web ...

    浅析memcache启动以及telnet命令详解

    下面详细分析了Memcached的启动过程以及使用telnet命令进行交互时的常用命令。 启动Memcached常用参数包括: 1. -p&lt;num&gt;:指定监听的TCP端口号,Memcached默认监听11211端口。 2. -U&lt;num&gt;:指定监听的UDP端口号,...

    Memcached缓存技术资料源码

    3. **命令行工具`: `memcached-client`或`telnet`可以直接与Memcached服务通信,进行测试和调试。 **五、源码分析** Memcached的源码主要由C语言编写,包括了服务器端和客户端的实现。源码阅读可以帮助理解其内部...

    memcached x86_x64 安装

    **memcached x86_x64 安装详解** memcached 是一款广泛应用于现代Web开发中的开源、高性能、分布式内存对象缓存系统。它旨在通过将数据存储在内存中,减少对数据库的直接访问,从而显著提升应用的响应速度和整体...

    windwos server memcached

    **Windows Server 上的 Memcached 安装与使用详解** Memcached 是一款高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的性能。在Windows Server环境下,我们同样可以利用Memcached来实现数据...

    memcached源代码下载.rar

    **memcached源代码详解** `memcached`是一个高性能的分布式内存对象缓存系统,它用于在动态系统中减少数据库负载,提升网站性能。这个压缩包包含的是`memcached`的源代码,允许开发者深入理解其内部工作原理,并...

    memcached-1.4.33.tar.gz

    3. **启动与配置**:通过`memcached`命令启动服务,配置文件通常位于`/etc/memcached.conf`,可根据需求调整参数,如内存大小、监听端口等。 4. **客户端连接**:使用各种编程语言的客户端库与Memcached交互,例如...

    memcached安装包

    **Memcached 安装详解** Memcached 是一个高性能、分布式内存对象缓存系统,它广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。本文将详细介绍如何在不同的操作系统上安装和配置 Memcached。 ## 一、...

    memcached与JAVA实例文档

    **Memcached与Java实例文档详解** Memcached是一种高性能、分布式内存对象缓存系统,它能够减轻数据库的负担,提高Web应用的性能。在Java开发环境中,Memcached被广泛用于存储临时数据,提升应用响应速度。本文将...

Global site tag (gtag.js) - Google Analytics