Memcached教程(2)
来源:互联网 发布:单片机开发板工作原理 编辑:程序博客网 时间:2024/06/14 07:27
Memcached命令入门
基础参数说明:
存储命令
add 命令
add 命令用于将value储在指定的key中。如果key已经存在,不会更新之前的value,并且响应 NOT_STORED。
语法格式如下:
add key flags exptime bytes [noreply]value
实例:
set mykey 0 900 9memcachedSTORED
可以用get命令获取存入的值:
get mykey
会显示:
VALUE mykey 0 9memcachedEND
代表存入成功。
STORED是保存成功后Memcached返回的标识,如果失败则返回ERROR或者具体的错误信息。
set 命令
set 命令用于将value存储在指定的key中。如果key已经存在,将更新该key所对应的value,实现更新操作。
语法格式如下:
set key flags exptime bytes [noreply]value
实例:
set mykey 0 900 9memcachedSTORED
replace 命令
replace 命令用于替换已经存在的key所对应的value。如果key不存在,则会替换失败,并且响应 NOT_STORED。
语法格式如下:
replace key flags exptime bytes [noreply]value
实例:
replace mykey 0 900 10memcached1STORED
append 命令
append 命令用于向已经存在的key的value后面追加数据。
语法格式如下:
append key flags exptime bytes [noreply]value
实例:
replace mykey 0 900 3234STORED
可以用get命令获取修改的值:
get mykeyVALUE mykey 0 13memcached1234END
prepend 命令
prepend 命令用于向已经存在的key的value前面追加数据。
语法格式如下:
prepend key flags exptime bytes [noreply]value
实例:
replace mykey 0 900 2abSTORED
可以用get命令获取修改的值:
get mykeyVALUE mykey 0 15abmemcached1234END
CAS 命令
CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个”检查并设置”的操作
它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。
检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的64位值。
语法格式如下:
cas key flags exptime bytes unique_cas_token [noreply]value
要在 Memcached 上使用 CAS 命令,你需要从 Memcached 服务商通过 gets 命令获取令牌(token)。
gets 命令的功能类似于基本的 get 命令。两个命令之间的差异在于,gets 返回的信息稍微多一些:64 位的整型值非常像名称/值对的 “版本” 标识符。
实例步骤如下:
- 如果没有设置唯一令牌,则 CAS 命令执行错误。
- 如果键 key 不存在,执行失败。
- 添加键值对。
- 通过 gets 命令获取唯一令牌。
- 使用 cas 命令更新数据
- 使用 get 命令查看数据是否更新
实例:
cas mykey 0 900 3 2abcSTORED
可能出现的输出信息:
查找命令
get 命令
get 命令获取存储在 key中的 value,如果 key 不存在,则返回空。
语法格式如下:
get key
多个key的情况使用空格隔开:
get key1 key2 key3
实例:
get mykey
会显示:
VALUE mykey 0 9memcachedEND
如果key不存在输出:
END
gets 命令
gets 命令获取带有CAS令牌存的value ,如果 key 不存在,则返回空。
语法格式如下:
gets key
多个key的情况使用空格隔开:
gets key1 key2 key3
实例:
get mykey
会显示:
VALUE mykey 0 9 2memcachedEND
如果key不存在输出:
END
delete 命令
delete 命令用于删除已存在的key和对应的value。
语法格式如下:
delete key [noreply]
多个key的情况使用空格隔开:
delete key1 key2 key3
实例:
delete runoob
会显示:
DELETED
可能出现的输出信息:
incr 命令
incr 命令用于对已存在的key的value进行自增操作。incr 命令操作的value必须是十进制的32位无符号整数。如果 key 不存在返回 NOT_FOUND,如果键的值不为数字,则返回 CLIENT_ERROR,其他错误返回 ERROR。
语法格式如下:
incr key increment_value
increment_value: 增加的数值。
实例:
set number 0 900 210STOREDget numberVALUE number 0 210ENDincr number 515get numberVALUE number 0 215END
decr 命令
decr 命令用于对已存在的key的value进行自减操作。decr 命令操作的value必须是十进制的32位无符号整数。如果 key 不存在返回 NOT_FOUND,如果键的值不为数字,则返回 CLIENT_ERROR,其他错误返回 ERROR。
语法格式如下:
decr key decrement_value
decrement_value: 减少的数值。
实例:
get numberVALUE visitors 0 215ENDdecr number 510get numberVALUE number 0 110END
统计命令
stats 命令
stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。
语法格式如下:
stats
实例:
statsSTAT pid 4348STAT uptime 54705STAT time 1470788200STAT version 1.4.25 UbuntuSTAT libevent 2.0.21-stableSTAT pointer_size 64STAT rusage_user 2.240000STAT rusage_system 2.172000STAT curr_connections 5STAT total_connections 7STAT connection_structures 6STAT reserved_fds 20STAT cmd_get 10STAT cmd_set 19STAT cmd_flush 0STAT cmd_touch 0STAT get_hits 7STAT get_misses 3STAT delete_misses 0STAT delete_hits 1STAT incr_misses 0STAT incr_hits 0STAT decr_misses 0STAT decr_hits 0STAT cas_misses 0STAT cas_hits 0STAT cas_badval 0STAT touch_hits 0STAT touch_misses 0STAT auth_cmds 0STAT auth_errors 0STAT bytes_read 1144STAT bytes_written 2039STAT limit_maxbytes 67108864STAT accepting_conns 1STAT listen_disabled_num 0STAT time_in_listen_disabled_us 0STAT threads 4STAT conn_yields 0STAT hash_power_level 16STAT hash_bytes 524288STAT hash_is_expanding 0STAT malloc_fails 0STAT bytes 78STAT curr_items 1STAT total_items 11STAT expired_unfetched 2STAT evicted_unfetched 0STAT evictions 0STAT reclaimed 4STAT crawler_reclaimed 0STAT crawler_items_checked 0STAT lrutail_reflocked 0END
下边详细解释每个状态项:
stats items 命令
stats items 命令用于显示各个 slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数)。
语法格式如下:
stats items
实例:
stats itemsSTAT items:1:number 1STAT items:1:age 12512STAT items:1:evicted 0STAT items:1:evicted_nonzero 0STAT items:1:evicted_time 0STAT items:1:outofmemory 0STAT items:1:tailrepairs 0STAT items:1:reclaimed 3STAT items:1:expired_unfetched 1STAT items:1:evicted_unfetched 0STAT items:1:crawler_reclaimed 0STAT items:1:crawler_items_checked 0STAT items:1:lrutail_reflocked 0END
stats slabs 命令
stats slabs 命令用于显示各个slab的信息,包括chunk的大小、数目、使用情况等。
语法格式如下:
stats slabs
实例:
stats slabsSTAT 1:chunk_size 96STAT 1:chunks_per_page 10922STAT 1:total_pages 1STAT 1:total_chunks 10922STAT 1:used_chunks 1STAT 1:free_chunks 10921STAT 1:free_chunks_end 0STAT 1:mem_requested 78STAT 1:get_hits 7STAT 1:cmd_set 15STAT 1:delete_hits 1STAT 1:incr_hits 0STAT 1:decr_hits 0STAT 1:cas_hits 0STAT 1:cas_badval 0STAT 1:touch_hits 0STAT 4:chunk_size 192STAT 4:chunks_per_page 5461STAT 4:total_pages 1STAT 4:total_chunks 5461STAT 4:used_chunks 0STAT 4:free_chunks 5461STAT 4:free_chunks_end 0STAT 4:mem_requested 0STAT 4:get_hits 0STAT 4:cmd_set 4STAT 4:delete_hits 0STAT 4:incr_hits 0STAT 4:decr_hits 0STAT 4:cas_hits 0STAT 4:cas_badval 0STAT 4:touch_hits 0STAT active_slabs 2STAT total_malloced 2097024END
stats sizes 命令
stats sizes 命令用于显示所有item的大小和个数。该信息返回两列,第一列是 item 的大小,第二列是 item 的个数。
语法格式如下:
stats sizes
实例:
stats sizes STAT 96 1END
flush_all 命令
flush_all 命令用于用于清理缓存中的所有 key=>value 对。该命令提供了一个可选参数 time,用于在制定的时间后执行清理缓存操作。
语法格式如下:
flush_all [time] [noreply]
实例:
flush_allOKget mykeyEND
- Memcached教程(2)
- memcached教程
- memcached教程
- Memcached教程
- Centos6.2安装Memcached详细教程
- Centos6.2安装Memcached详细教程
- Java MemCached 简易教程
- memcached使用教程
- Memcached安装教程
- Memcached教程(1)
- memcached简单的使用教程
- memcached完全剖析系列教程
- memcached完全剖析系列教程
- memcached简单的使用教程
- memcached简单的使用教程
- memcached简单的使用教程
- memcached分布式缓存应用教程
- Windows安装memcached图文教程
- kaggle ensembling guide(Kaggle中常用融合技术 )
- HTML5 canvas
- SQL左外连接连接多个表
- 树结构练习——判断给定森林中有多少棵树
- 理解Java三大特性之多态
- Memcached教程(2)
- value和placeholder 的区别
- Spark 启动过程(standalone)
- MyBatis if test 字符串判断问题
- SQL Server with as 递归查询()
- rsyslog 定义模板
- CSS中的haslayout
- 利用递归和循环遍历文件
- 七种常见的排序算法--c++直接上代码,注释详细