`
Donald_Draper
  • 浏览: 983922 次
社区版块
存档分类
最新评论

Memcached 命令

阅读更多
memcached 安装配置:http://donald-draper.iteye.com/blog/2395580
Memcached 教程 :http://www.runoob.com/memcached/memcached-tutorial.html
    上一篇文章讲了memcached的安装配置,今天来看一下memcached先关操作命令。
启动memcached

[memcached@zabbix Desktop]$ memcached -p 11211 -d -u memcached -l 192.168.126.128 -c 1024
[memcached@zabbix Desktop]$ ps -ef | grep memcached
memcach+   4030      1  0 21:43 ?        00:00:00 memcached -p 11211 -d -u memcached -l 192.168.126.128 -c 1024
memcach+   4044   3991  0 21:43 pts/0    00:00:00 grep --color=auto memcached
[memcached@zabbix Desktop]$ 


连接Memcached

[memcached@zabbix ~]$ telnet 192.168.126.128 11211
Trying 192.168.126.128...
Connected to 192.168.126.128.
Escape character is '^]'.


set 命令
Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。

set 命令的基本语法格式如下:

set key flags exptime bytes [noreply] 
value 

参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
    exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
    bytes:在缓存中存储的字节数
    noreply(可选): 该参数告知服务器不需要返回数据
    value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

示例:
set name 0 0 6          
donald
STORED


get 命令
get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。
语法:

get 命令的基本语法格式如下:
get key


多个 key 使用空格隔开,如下:
get key1 key2 key3


参数说明如下:
key:键值 key-value 结构中的 key,用于查找缓存值。

示例:
get name
VALUE name 0 6
donald
END

测试set 命令 过期时间
set age 0 10 2
27
STORED

获取age的值
get age
VALUE age 0 2
27
END

经过10秒钟以后 
get age
END

replace 命令

Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。
如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。
语法:

replace 命令的基本语法格式如下:

replace key flags exptime bytes [noreply]
value


参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
    exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
    bytes:在缓存中存储的字节数
    noreply(可选): 该参数告知服务器不需要返回数据
    value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

示例:
get name
VALUE name 0 6
donald
END

replace name 0 0 5
jamel
STORED

get name
VALUE name 0 5
jamel
END


append 命令


Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据 。
语法:

append 命令的基本语法格式如下:

append key flags exptime bytes [noreply]
value

参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
    exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
    bytes:在缓存中存储的字节数
    noreply(可选): 该参数告知服务器不需要返回数据
    value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

示例:
append name 0 0 4
_han
STORED

get name
VALUE name 0 9
jamel_han
END


prepend 命令

Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 。
语法:

prepend 命令的基本语法格式如下:

prepend key flags exptime bytes [noreply]
value


参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
    exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
    bytes:在缓存中存储的字节数
    noreply(可选): 该参数告知服务器不需要返回数据
    value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

示例:
prepend name 0 0 1  
0
STORED

get name
VALUE name 0 0
0jamel_han
END

delete 命令

Memcached delete 命令用于删除已存在的 key(键)。
语法:

delete 命令的基本语法格式如下:

delete key [noreply]


参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    noreply(可选): 该参数告知服务器不需要返回数据

示例:
get name
VALUE name 0 10
0jamel_han
END

delete name
DELETED

get name
END

delete name
NOT_FOUND

gets 命令
Memcached gets 命令获取带有 CAS 令牌存 的 value(数据值) ,如果 key 不存在,则返回空。
语法:

gets 命令的基本语法格式如下:

gets key

多个 key 使用空格隔开,如下:

gets key1 key2 key3

参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。


示例:
set name 0 0 6 
donald
STORED

get name
VALUE name 0 6
donald
END

gets name
VALUE name 0 6 7
donald
END

在使用 gets 命令的输出结果中,在最后一列的数字 7 代表了 key 为 name 的 CAS 令牌。

CAS 命令

Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个"检查并设置"的操作
它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的64位值。
语法:

CAS 命令的基本语法格式如下:

cas key flags exptime bytes unique_cas_token [noreply]
value


参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
    exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
    bytes:在缓存中存储的字节数
    unique_cas_token通过 gets 命令获取的一个唯一的64位值。
    noreply(可选): 该参数告知服务器不需要返回数据
    value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
示例:
<− 缺少 token
cas name 0 0 5 
ERROR

<− token不一致
cas name 0 0 5 1
jamel

CLIENT_ERROR bad data chunk
ERROR

cas name 0 0 5 7 
jamel
STORED

get name
VALUE name 0 5
jamel
END

<− 键 age 不存在
cas age 0 0 2 1   
27
NOT_FOUND


incr 与 decr 命令


Memcached incr 与 decr 命令用于对已存在的 key(键) 的数字值进行自增或自减操作。
incr 与 decr 命令操作的数据必须是十进制的32位无符号整数。
如果 key 不存在返回 NOT_FOUND,如果键的值不为数字,则返回 CLIENT_ERROR,其他错误返回 ERROR。
incr 命令
语法:

incr 命令的基本语法格式如下:

incr key increment_value


参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    increment_value: 增加的数值。


decr 命令的基本语法格式如下:
decr key decrement_value


参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    decrement_value: 减少的数值。

示例:
set age 0 0 2 
27
STORED

get age
VALUE age 0 2
27
END


incr age 1
28

get age
VALUE age 0 2
28
END

incr age 2
30

get age
VALUE age 0 2
30
END

decr age 1
29

get age
VALUE age 0 2
29
END


decr age 2
27

get age
VALUE age 0 2
27
END

重新设置age值,过期时间为10秒
set age 0 10 2
19
STORED

get age
VALUE age 0 2
19
END

过10秒钟:
get age
END


add 命令


Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。
语法:

add 命令的基本语法格式如下:

add key flags exptime bytes [noreply]
value


参数说明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
    exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
    bytes:在缓存中存储的字节数
    noreply(可选): 该参数告知服务器不需要返回数据
    value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
示例:
get name
VALUE name 0 6
donald
END

key 已经存在
add name 0 10 5      
jamel
NOT_STORED

get name
VALUE name 0 6
donald
END

重新设置过期时间

set name 0 10 5     
jamel
STORED
过10秒钟
get name
END

add name 0 10 6 
donald
STORED

get name
END

add name 0 20 5
jamel
STORED

get name
VALUE name 0 5
jamel
END

过20秒以后

get name
END

针对key不存在
get age
END
delete age
NOT_FOUND

add age 0 0 2
27
STORED

get age
VALUE age 0 2
27
END


stats 命令

Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。
语法:

stats 命令的基本语法格式如下:

stats
示例:
stats
STAT pid 4030
STAT uptime 4497
STAT time 1507561106
STAT version 1.5.2
STAT libevent 2.1.8-stable
STAT pointer_size 64
STAT rusage_user 0.956704
STAT rusage_system 0.956704
STAT max_connections 1024
STAT curr_connections 5
STAT total_connections 8
STAT rejected_connections 0
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 53
STAT cmd_set 24
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 37
STAT get_misses 16
STAT get_expired 3
STAT get_flushed 0
STAT delete_misses 2
STAT delete_hits 3
STAT incr_misses 0
STAT incr_hits 2
STAT decr_misses 0
STAT decr_hits 2
STAT cas_misses 1
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 1369
STAT bytes_written 1779
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT slab_reassign_rescues 0
STAT slab_reassign_chunk_rescues 0
STAT slab_reassign_evictions_nomem 0
STAT slab_reassign_inline_reclaim 0
STAT slab_reassign_busy_items 0
STAT slab_reassign_busy_deletes 0
STAT slab_reassign_running 0
STAT slabs_moved 0
STAT lru_crawler_running 0
STAT lru_crawler_starts 3060
STAT lru_maintainer_juggles 8631
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT bytes 64
STAT curr_items 1
STAT total_items 18
STAT slab_global_page_pool 0
STAT expired_unfetched 2
STAT evicted_unfetched 0
STAT evicted_active 0
STAT evictions 0
STAT reclaimed 3
STAT crawler_reclaimed 0
STAT crawler_items_checked 1
STAT lrutail_reflocked 40
STAT moves_to_cold 40
STAT moves_to_warm 22
STAT moves_within_lru 0
STAT direct_reclaims 0
STAT lru_bumps_dropped 0

END
下边详细解释每个状态项:

    pid: memcache服务器进程ID
    uptime:服务器已运行秒数
    time:服务器当前Unix时间戳
    version:memcache版本
    pointer_size:操作系统指针大小
    rusage_user:进程累计用户时间
    rusage_system:进程累计系统时间
    curr_connections:当前连接数量
    total_connections:Memcached运行以来连接总数
    connection_structures:Memcached分配的连接结构数量
    cmd_get:get命令请求次数
    cmd_set:set命令请求次数
    cmd_flush:flush命令请求次数
    get_hits:get命令命中次数
    get_misses:get命令未命中次数
    delete_misses:delete命令未命中次数
    delete_hits:delete命令命中次数
    incr_misses:incr命令未命中次数
    incr_hits:incr命令命中次数
    decr_misses:decr命令未命中次数
    decr_hits:decr命令命中次数
    cas_misses:cas命令未命中次数
    cas_hits:cas命令命中次数
    cas_badval:使用擦拭次数
    auth_cmds:认证命令处理的次数
    auth_errors:认证失败数目
    bytes_read:读取总字节数
    bytes_written:发送总字节数
    limit_maxbytes:分配的内存总大小(字节)
    accepting_conns:服务器是否达到过最大连接(0/1)
    listen_disabled_num:失效的监听数
    threads:当前线程数
    conn_yields:连接操作主动放弃数目
    bytes:当前存储占用的字节数
    curr_items:当前存储的数据总数
    total_items:启动以来存储的数据总数
    evictions:LRU释放的对象数目
    reclaimed:已过期的数据条目来存储新数据的数目


stats items 命令


Memcached stats items 命令用于显示各个 slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数)。
语法:

stats items 命令的基本语法格式如下:

stats items
示例:
stats items
STAT items:1:number 2
STAT items:1:number_hot 0
STAT items:1:number_warm 0
STAT items:1:number_cold 2
STAT items:1:age_hot 0
STAT items:1:age_warm 0
STAT items:1:age 27
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 3
STAT items:1:expired_unfetched 2
STAT items:1:evicted_unfetched 0
STAT items:1:evicted_active 0
STAT items:1:crawler_reclaimed 0
STAT items:1:crawler_items_checked 1
STAT items:1:lrutail_reflocked 40
STAT items:1:moves_to_cold 42
STAT items:1:moves_to_warm 23
STAT items:1:moves_within_lru 0
STAT items:1:direct_reclaims 0
STAT items:1:hits_to_hot 0
STAT items:1:hits_to_warm 0
STAT items:1:hits_to_cold 39
STAT items:1:hits_to_temp 0
END


stats slabs 命令

Memcached stats slabs 命令用于显示各个slab的信息,包括chunk的大小、数目、使用情况等。
语法:

stats slabs
命令的基本语法格式如下:

stats slabs

示例:
stats slabs
STAT 1:chunk_size 96
STAT 1:chunks_per_page 10922
STAT 1:total_pages 1
STAT 1:total_chunks 10922
STAT 1:used_chunks 1
STAT 1:free_chunks 10921
STAT 1:free_chunks_end 0
STAT 1:mem_requested 69
STAT 1:get_hits 2
STAT 1:cmd_set 2
STAT 1:delete_hits 0
STAT 1:incr_hits 0
STAT 1:decr_hits 0
STAT 1:cas_hits 0
STAT 1:cas_badval 0
STAT 1:touch_hits 0
STAT active_slabs 1
STAT total_malloced 1048576
END


flush_all 命令

Memcached flush_all 命令用于用于清理缓存中的所有 key=>value(键=>值) 对。

该命令提供了一个可选参数 time,用于在制定的时间后执行清理缓存操作。
语法:

flush_all 命令的基本语法格式如下:

flush_all [time] [noreply]


示例:
flush_all 5
OK

get name
VALUE name 0 6
donald
END

get age
END
get name
END


stats sizes 命令

Memcached stats sizes 命令用于显示所有item的大小和个数。

该信息返回两列,第一列是 item 的大小,第二列是 item 的个数。
语法:

stats sizes 命令的基本语法格式如下:

stats sizes


0
0
分享到:
评论

相关推荐

    memcached命令

    ### Memcached 命令详解 #### 一、Memcached简介 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少从复杂数据库中检索数据所需的次数,从而...

    memcached 命令汇总

    ### Memcached 命令汇总:Stats 系列详解 #### 概述 Memcached 是一种高性能、分布式内存对象缓存系统,用于减轻数据库负载、加快动态 Web 应用的速度并提升网站性能。通过 stats 命令,我们可以获取 Memcached ...

    PHP 扩展Memcached命令用法实例总结

    本文实例讲述了PHP 扩展Memcached命令用法。分享给大家供大家参考,具体如下: 传送门:http://www.php.net/manual/zh/book.memcached.php windows 下没有memcached的扩展,只有memcache的扩展。亲测,两者之间还是...

    安装Memcached及Memcached配置

    2. **Memcached命令** - `Memcached`命令行工具提供了多个选项用于管理服务。例如: - `-p`设置监听的端口,默认是11211。 - `-l`设置监听的IP地址,默认为本机。 - `-d start/restart/stop/shutdown/install/...

    安装Memcached及Memcached配置.doc

    可以使用 `memcached –m 200` 命令来调整最大内存占用,但是这个命令可能不生效。解决方法是修改注册表中的ImagePath项。在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 中添加 `-l ...

    Memcached安装和配置

    接下来,了解一些常用的Memcached命令: - `-p`:设置监听的端口号,如`-p 11211`。 - `-l`:指定监听的IP地址,默认为本地主机。 - `-d start`:启动服务。 - `-d restart`:重启服务。 - `-d stop|shutdown`:...

    MemCached安装与配置图解(windows).pdf

    显示MemCached命令的帮助信息。 #### 四、配置修改 在Windows环境下,可以通过修改注册表来调整MemCached的配置参数: 1. **打开注册表编辑器** 在命令提示符中输入`regedit`并按回车键打开注册表编辑器。 2. ...

    Memcached内存分析、调优、集群.pptx

    3. Memcached命令:-m参数设置内存数量,-M参数禁止LRU,-n参数设置初始chunk大小,-f参数设置增长因子,-L参数启用大内存页。 4. Memcached统计信息:使用 stats 命令查看Memcached的统计信息。 Memcached内部机制...

    memcached加固.pdf

    #### 三、Memcached命令参数详解 - **-d**:以守护进程模式运行Memcached。 - **-m**:分配给Memcached使用的内存大小(单位:MB)。例如,`-m 1024`表示分配1024MB内存给Memcached。 - **-u**:指定运行Memcached的...

    linux下编译安装memcached服务.pdf

    此外,了解一些常用的Memcached命令对于日常管理和维护是很有帮助的。例如,你可以使用`stats`命令获取服务器的状态信息,`flush_all`命令清空所有缓存数据,以及`get`和`set`命令来操作缓存中的键值对。 在实际...

    java MemCached window从安装到使用详细文档

    #### 三、Memcached命令详解 - `-p &lt;port&gt;`:指定监听的端口号,默认为11211。 - `-l &lt;ip&gt;`:绑定到的IP地址,默认为本机。 - `-d start`:启动Memcached服务。 - `-d restart`:重启Memcached服务。 - `-d stop|...

    .net memcached 分布式缓存应用类库

    3. **操作命令**: 提供了完整的Memcached命令集,如Get、Set、Add、Replace、Delete等,以及操作集合的命令如Increment、Decrement等。 四、StackExchange.Redis库介绍 StackExchange.Redis是一个流行的.NET Redis...

    找到一个memcached分析文档

    5. **命令操作**:学习基本的Memcached命令,如`get`、`set`、`delete`、`incr`和`decr`,以及如何通过命令行交互。 6. **并发与一致性**:探讨Memcached如何处理并发请求,以及它的一致性策略,例如无任何形式的...

    Memcached常用命令以及使用说明详解

    本文将详细介绍Memcached的一些常用命令及其使用说明。 一、存储命令 1. `set key flags exptime bytes` `set`命令是最常用的,用于存储或更新键值对。如果键已经存在,它会更新该键的值。`flags`允许客户端附加...

    memcached几个命令

    标题中的“memcached几个命令”指的是在使用memcached这一分布式内存对象缓存系统时,经常用到的一些核心命令。memcached被广泛应用于大型网站设计,尤其是对于PHP程序员来说,掌握这些命令是至关重要的。 首先,...

    memcachedDemo:memcached学习程序

    Memcached 学习Memcached 运行Memcached命令的运行:/usr/local/memcached/bin/memcached -d -m 64M -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid注意:如果使用自动安装 memcached 命令位于 /usr/...

Global site tag (gtag.js) - Google Analytics