memcached 常用命令详解
memcached 是一个高性能的分布式内存对象缓存系统,用于加速动态 Web 应用程序,减轻数据库负载,它通过在内存中存储数据来提高读写速度,本文将详细介绍 memcached 的常用命令及其用法,包括启动命令、基本操作命令和高级命令。
一、启动 Memcached 服务
要启动 memcached 服务,可以使用以下命令:
memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 256
参数说明:
-d
:以后台守护进程的方式运行。
-m
:最大内存使用量为 1024MB。
-u
:以 root 用户身份运行。
-l
:绑定到本地地址 127.0.0.1。
-p
:监听端口为 11211。
-c
:最大连接数为 256。
二、基本操作命令
1. set 命令
set
命令用于向 memcached 添加或更新一个键值对,如果键已经存在,则之前的值将被替换。
set key flags exptime bytes [noreply] value
示例:
set mykey 0 3600 5 STORED hello world
解释:
mykey
:键名。
0
:标志位。
3600
:过期时间为 3600 秒。
5
:值为 "hello"(5 个字符)。
STORED
:表示存储成功。
2. add 命令
add
命令仅当键不存在时才添加键值对,如果键已存在,则返回NOT_STORED
。
add key flags exptime bytes [noreply] value
示例:
add mykey 0 3600 5 NOT_STORED hello world
解释:
如果mykey
已经存在,则操作失败并返回NOT_STORED
。
3. replace 命令
replace
命令仅当键已经存在时才替换其值,如果键不存在,则返回NOT_STORED
。
replace key flags exptime bytes [noreply] value
示例:
replace mykey 0 3600 5 STORED hello world
解释:
如果mykey
不存在,则操作失败并返回NOT_STORED
。
4. get 命令
get
命令用于检索与指定键关联的值。
get key
示例:
get mykey VALUE mykey 0 5 hello world END
解释:
如果键存在,则返回相应的值;否则无返回内容。
5. delete 命令
delete
命令用于删除指定的键值对,如果键不存在,则返回NOT_FOUND
。
delete key [noreply]
示例:
delete mykey NOT_FOUND
解释:
如果mykey
不存在,则操作失败并返回NOT_FOUND
。
三、高级命令
1. incr/decr 命令
incr
和decr
命令分别用于增加和减少键的值,常用于计数器场景。
incr key [by_value] noreply decr key [by_value] noreply
示例:
incr mycounter 1 STORED decr mycounter 1 STORED
解释:
如果键不存在,则初始化其值为0
。
by_value
是可选参数,默认为1
。
2. stats 命令
stats
命令用于获取服务器的状态信息,可以加上不同的子命令来查看特定的统计信息。
stats [items|slabs|sizes|reset] [slab_id limit_num]
示例:
stats items STAT items:2:number 1 ...
解释:
items
:显示所有缓存项的信息。
slabs
:显示 slab 层的信息。
sizes
:显示不同大小的缓存项的数量。
reset
:重置所有统计数据。
slab_id limit_num
:限制显示的 slab id 数量。
3. flush_all 命令
flush_all
命令用于清空所有缓存数据,此命令会立即使所有现有的项目失效。
flush_all [delay]
示例:
flush_all 10 OK
解释:
delay
是可选参数,表示在多少秒后使现有项目失效,如果不指定,则立即生效。
1. memcached 支持的最大内存是多少?
memcached 支持的最大内存量取决于服务器的物理内存和操作系统的限制,可以通过启动参数-m
设置最大内存使用量,设置为-m 4096
表示使用最多 4GB 内存。
2. 如果键不存在,add 和 replace 命令有什么区别?
add
命令在键不存在时添加键值对,如果键已存在则返回NOT_STORED
;而replace
命令在键存在时替换其值,如果键不存在则返回NOT_STORED
。
3. memcached 如何处理数据过期?
memcached 使用惰性删除策略来处理数据过期,当数据被访问时,如果发现已过期,则会立即删除该数据,还可以通过定期执行flush_all
命令来清理过期数据。
小伙伴们,上文介绍了“PWP是什么意思?(memcached的常用命令)”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1308655.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复