`

Memcached常用命令及使用说明

阅读更多

一、存储命令

存储命令的格式:

1
2
<command name> <key> <flags> <exptime> <bytes>
<data block>

参数说明如下:

<command name> set/add/replace
<key> 查找关键字
<flags> 客户机使用它存储关于键值对的额外信息
<exptime> 该数据的存活时间,0表示永远
<bytes> 存储字节数
<data block> 存储的数据块(可直接理解为key-value结构中的value)

1、添加

(1)、无论如何都存储的set

set

这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。

可以通过“get 键名”的方式查看添加进去的记录:

set_get

如你所知,我们也可以通过delete命令删除掉,然后重新添加。

delete

(2)、只有数据不存在时进行添加的add

add

(3)、只有数据存在时进行替换的replace

replace

 

2、删除

delete

可以看到,删除已存在的键值和不存在的记录可以返回不同的结果。

 

二、读取命令

1、get

get命令的key可以表示一个或者多个键,键之间以空格隔开

get

2、gets

gets

可以看到,gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。

3、cas

cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。

cas

 

三、状态命令

1、stats

stats

 

2、stats items

statsitems
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。

 

3、stats cachedump slab_id limit_num

我们执行stats cachedump 1 0 命令效果如下:

statscachedump

这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错, 不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。

statscachedump1
通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。

 

4、其他stats命令

如stats slabs,stats sizes,stats reset等等使用也比较常见。

statsother

 

四、其他常见命令

1、append

append

在现有的缓存数据添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED。

 

2、prepend

和append非常类似,但它的作用是在现有的缓存数据添加缓存数据。

prepend

 

3、flush_all

flush_all

该命令有一个可选的数字参数。它总是执行成功,服务器会发送 “OK\r\n” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。

flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。

4、其他命令

memcached还有很多命令,比如对于存储为数字型的可以通过incr/decr命令进行增减操作等等,这里只列出开发和运维中经常使用的命令,其他的不再一一举例说明。

分享到:
评论

相关推荐

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

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

    memcached命中率及状态说明.pdf

    总之,理解 Memcached 的命中率和状态信息对于运维人员来说至关重要,它们提供了关于系统性能和资源使用情况的直观数据,有助于识别潜在问题并进行相应的优化,确保 Memcached 在高并发场景下发挥最佳效能。

    memcached-1.4.5(含安装注册说明)

    4. **启动服务**: 使用命令启动Memcached服务,例如在Unix/Linux系统中,可以执行`/usr/local/bin/memcached -d -m 64 -p 11211 -u nobody`。 5. **验证安装**: 通过`telnet`命令或者专门的客户端工具连接到...

    memcached linux部署包及jar.rar

    1. 使用`memcached-stat`命令可以查看Memcached的运行状态,包括命中率、内存使用情况等。 2. 对于大型系统,可能需要配置多个Memcached实例,通过一致性哈希算法实现分布式存储,以提升缓存性能和可用性。 3. 注意...

    memcached for win32

    4. **启动与管理服务** - 在 Windows 中,可能需要使用 `memcached.exe` 命令行工具启动服务,并使用 `net start` 和 `net stop` 命令来管理和停止服务。 5. **客户端集成** - 为了让应用程序能够与 Memcached 通信...

    Memcached服务端安装及其客户端简单使用[参考].pdf

    常用命令 - **启动服务**:`-d start` - **重启服务**:`-d restart` - **关闭服务**:`-d stop` 或 `-d shutdown` - **安装服务**:`-d install` - **卸载服务**:`-d uninstall` - **指定监听端口**:`-p &lt;num&gt;`...

    memcached-1.2.1-win32

    6. **命令协议**:memcached使用简单的文本协议,允许客户端通过TCP或UDP进行通信,易于实现跨语言的客户端库。 7. **安全性**:由于memcached默认不提供加密,通常在内部网络中使用。如果需要暴露在公网,应采取...

    linux下编译安装memcached服务

    8. 常用命令: 提供了启动和关闭Memcached服务的命令,关闭服务通过读取pid文件内容并使用kill命令杀死进程实现。 9. 网友补充内容: 网友补充了一些关于安装Memcached的其他信息。例如,使用系统自带的libevent...

    架构师培训教程 大数据高并发服务器实战 第1篇-Linux 02-文件系统结构及常用shell命令 共62页.pptx

    1. **Linux文件系统结构及常用shell命令**: - Linux文件系统采用单一文件树结构,以根目录`/`开始,所有文件和设备都在这个树状结构中。 - `/bin`和`/sbin`目录存储基础系统程序,前者面向所有用户,后者主要用于...

    PHP内存缓存功能memcached示例

    启动memcached守护进程只需要一条命令,例如: ``` /usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd ``` 参数说明: - `-d`:以守护进程模式运行。 - `-m`:指定分配给memcached的内存大小,如128M...

    Linux 下安装 memcached 及 memcacheq的方法

    在Linux系统中,Memcached和Memcacheq是两种常用的内存缓存系统。Memcached是一个高性能、分布式的内存对象缓存系统,用于减少数据库负载,提高网站性能。而Memcacheq是Memcached的一个增强版本,增加了队列管理功能...

    redis&memcache;所需扩展包

    Redis 和 Memcached 是两种常用的内存数据存储系统,广泛应用于缓存和快速数据访问场景。在部署和使用这两种技术时,确保正确安装了相应的扩展包至关重要。以下是对 Redis 和 Memcached 扩展包的详细说明: **Redis...

    java 缓存系统实战(安装和实例代码)

    以下是关于 Memcached 缓存系统、Java 缓存框架以及实例代码的详细说明: 1. **Memcached 基础** - **Cache 定义**:Cache 通常被用来协调不同速度设备之间的数据传输,包括硬件级别的 CPU Cache 和软件层面的...

Global site tag (gtag.js) - Google Analytics