一、存储命令
存储命令的格式:
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的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
可以通过“get 键名”的方式查看添加进去的记录:
如你所知,我们也可以通过delete命令删除掉,然后重新添加。
(2)、只有数据不存在时进行添加的add
(3)、只有数据存在时进行替换的replace
2、删除
可以看到,删除已存在的键值和不存在的记录可以返回不同的结果。
二、读取命令
1、get
get命令的key可以表示一个或者多个键,键之间以空格隔开
2、gets
可以看到,gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。
3、cas
cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。
三、状态命令
1、stats
2、stats items
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
3、stats cachedump slab_id limit_num
我们执行stats cachedump 1 0 命令效果如下:
这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错, 不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。
通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。
4、其他stats命令
如stats slabs,stats sizes,stats reset等等使用也比较常见。
四、其他常见命令
1、append
在现有的缓存数据后添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED。
2、prepend
和append非常类似,但它的作用是在现有的缓存数据前添加缓存数据。
3、flush_all
该命令有一个可选的数字参数。它总是执行成功,服务器会发送 “OK\r\n” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。
flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。
4、其他命令
memcached还有很多命令,比如对于存储为数字型的可以通过incr/decr命令进行增减操作等等,这里只列出开发和运维中经常使用的命令,其他的不再一一举例说明。
相关推荐
本文将详细介绍Memcached的一些常用命令及其使用说明。 一、存储命令 1. `set key flags exptime bytes` `set`命令是最常用的,用于存储或更新键值对。如果键已经存在,它会更新该键的值。`flags`允许客户端附加...
总之,理解 Memcached 的命中率和状态信息对于运维人员来说至关重要,它们提供了关于系统性能和资源使用情况的直观数据,有助于识别潜在问题并进行相应的优化,确保 Memcached 在高并发场景下发挥最佳效能。
4. **启动服务**: 使用命令启动Memcached服务,例如在Unix/Linux系统中,可以执行`/usr/local/bin/memcached -d -m 64 -p 11211 -u nobody`。 5. **验证安装**: 通过`telnet`命令或者专门的客户端工具连接到...
1. 使用`memcached-stat`命令可以查看Memcached的运行状态,包括命中率、内存使用情况等。 2. 对于大型系统,可能需要配置多个Memcached实例,通过一致性哈希算法实现分布式存储,以提升缓存性能和可用性。 3. 注意...
4. **启动与管理服务** - 在 Windows 中,可能需要使用 `memcached.exe` 命令行工具启动服务,并使用 `net start` 和 `net stop` 命令来管理和停止服务。 5. **客户端集成** - 为了让应用程序能够与 Memcached 通信...
常用命令 - **启动服务**:`-d start` - **重启服务**:`-d restart` - **关闭服务**:`-d stop` 或 `-d shutdown` - **安装服务**:`-d install` - **卸载服务**:`-d uninstall` - **指定监听端口**:`-p <num>`...
6. **命令协议**:memcached使用简单的文本协议,允许客户端通过TCP或UDP进行通信,易于实现跨语言的客户端库。 7. **安全性**:由于memcached默认不提供加密,通常在内部网络中使用。如果需要暴露在公网,应采取...
8. 常用命令: 提供了启动和关闭Memcached服务的命令,关闭服务通过读取pid文件内容并使用kill命令杀死进程实现。 9. 网友补充内容: 网友补充了一些关于安装Memcached的其他信息。例如,使用系统自带的libevent...
- **说明**: memcached内部使用了一种称为“slab allocation”的机制来管理内存。 - **特点**: 可以高效地分配和回收固定大小的内存块,减少了内存碎片问题。 ##### 2.4 memcached不互相通信的分布式 - **概念**: ...
1. **Linux文件系统结构及常用shell命令**: - Linux文件系统采用单一文件树结构,以根目录`/`开始,所有文件和设备都在这个树状结构中。 - `/bin`和`/sbin`目录存储基础系统程序,前者面向所有用户,后者主要用于...
启动memcached守护进程只需要一条命令,例如: ``` /usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd ``` 参数说明: - `-d`:以守护进程模式运行。 - `-m`:指定分配给memcached的内存大小,如128M...
在Linux系统中,Memcached和Memcacheq是两种常用的内存缓存系统。Memcached是一个高性能、分布式的内存对象缓存系统,用于减少数据库负载,提高网站性能。而Memcacheq是Memcached的一个增强版本,增加了队列管理功能...
Redis 和 Memcached 是两种常用的内存数据存储系统,广泛应用于缓存和快速数据访问场景。在部署和使用这两种技术时,确保正确安装了相应的扩展包至关重要。以下是对 Redis 和 Memcached 扩展包的详细说明: **Redis...
以下是关于 Memcached 缓存系统、Java 缓存框架以及实例代码的详细说明: 1. **Memcached 基础** - **Cache 定义**:Cache 通常被用来协调不同速度设备之间的数据传输,包括硬件级别的 CPU Cache 和软件层面的...