Memcached安装及常用命令
一.
安装
安装步骤:
先安装
libevent
再安装
Memcached
源码下载:(注意根据服务器位数选择对应的版本)
libevent
官网:http://monkey.org/~provos/libevent/libevent
下载:http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz
Memcached
官网:http://www.danga.com/memcachedMemcached
下载:http://www.danga.com/memcached/dist/memcached-1.4.5.tar.gz
安装 libevent
环境:red hat linux 64位
#
tar zxvf libevent-2.0.12stable.tar.gz
#
cd libevent-2.0.12-stable
#
./configure --prefix=/usr
#
make
#
make install
•
安装 Memcached
#
tar zxvf memcached-1.4.5.tar.gz
#
cd memcached-1.4.5
#
./configure --prefix=/usr/local
#
make
#
make install
Memcached 运行
关注基本选项
-p
<num> 监听的TCP端口 (缺省: 11211)
-d 以守护进程方式运行Memcached
-u
<username> 运行Memcached的账户,非root用户
-m
<num> 最大的内存使用, 单位是MB,缺省是
64 MB
-c
<num> 软连接数量, 缺省是 1024
-v 输出警告和错误信息
-vv
打印客户端的请求和返回信息
-h 打印帮助信息
-i 打印memcached和libevent的版权信息
运行 Memcached
目标:使用11211端口、gongyong用户、最大占用512M内存、1024个软连接,输出
客户端请求,以守护进程方式运行
# /usr/local/bin/memcached
-p 11211 -d -u gongyong -m 512 -c 1024 -vvv
二.
命令
存储命令
存储命令的格式:
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![](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815074223.jpg)
这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
可以通过“get 键名”的方式查看添加进去的记录:
![](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815075585.jpg)
如你所知,我们也可以通过delete命令删除掉,然后重新添加。
![delete](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815084647.jpg)
(2)、只有数据不存在时进行添加的add
![add](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815087122.jpg)
(3)、只有数据存在时进行替换的replace
![replace](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815085976.jpg)
2、删除
![delete](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815096467.jpg)
可以看到,删除已存在的键值和不存在的记录可以返回不同的结果。
读取命令
1、get
get命令的key可以表示一个或者多个键,键之间以空格隔开
![get](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815106924.jpg)
2、gets
![gets](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815103303.jpg)
可以看到,gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。
3、cas
cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。
![cas](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815118220.jpg)
状态命令
1、stats
![stats](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815118187.jpg)
在每行状态中, 是状态的名字, 使状态的数据。
以下清单,是所有的状态名称,数据类型,和数据代表的含义。
在“类型”一列中,”32u”表示32位无符号整型,”64u”表示64位无符号整型,”32u:32u”表示用冒号隔开的两个32位无符号整型。
名称
|
类型
|
含义
|
pid
|
32u
|
服务器进程ID
|
|
uptime
|
32u
|
服务器运行时间,单位秒
|
|
time
|
32u
|
服务器当前的UNIX时间
|
|
version
|
string
|
服务器的版本号
|
|
rusage_user
|
32u:32u
|
该进程累计的用户时间
(秒:微妙)
|
|
rusage_system
|
32u:32u
|
该进程累计的系统时间
(秒:微妙)
|
|
curr_items
|
32u
|
服务器当前存储的内容数量
|
|
total_items
|
32u
|
服务器启动以来存储过的内容总数
|
|
bytes
|
64u
|
服务器当前存储内容所占用的字节数
|
|
curr_connections
|
32u
|
连接数量
|
|
total_connections
|
32u
|
服务器运行以来接受的连接总数
|
|
connection_structures
|
32u
|
服务器分配的连接结构的数量
|
|
cmd_get
|
32u
|
取回请求总数
|
|
cmd_set
|
32u
|
存储请求总数
|
|
get_hits
|
32u
|
请求成功的总次数
|
|
get_misses
|
32u
|
请求失败的总次数
|
|
bytes_read
|
64u
|
服务器从网络读取到的总字节数
|
|
bytes_written
|
64u
|
服务器向网络发送的总字节数
|
|
limit_maxbytes
|
32u
|
服务器在存储时被允许使用的字节总数
|
|
2、stats items
![stats items](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815124774.jpg)
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
3、stats cachedump slab_id limit_num
我们执行stats cachedump 1 0 命令效果如下:
![stats items 1 0](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815126136.jpg)
这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错,
不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。
![stats else](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815136594.jpg)
通过stats items、stats
cachedump slab_id limit_num配合get命令可以遍历memcached的记录。
4、其他stats命令
如stats slabs,stats sizes,stats reset等等使用也比较常见。
![](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/20111106181513988.jpg)
其他常见命令
1、append
![append](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815148970.jpg)
在现有的缓存数据后添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED。
2、prepend
和append非常类似,但它的作用是在现有的缓存数据前添加缓存数据。
![prepend](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061815141445.jpg)
3、flush_all
![flush all](http://images.cnblogs.com/cnblogs_com/jeffwongishandsome/201111/201111061809106009.jpg)
该命令有一个可选的数字参数。它总是执行成功,服务器会发送 “OK\r\n” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。
flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。
4、其他命令
memcached还有很多命令,比如对于存储为数字型的可以通过incr/decr命令进行增减操作等等。
注:本文非原创
分享到:
相关推荐
计算机后端-PHP视频教程. Memcached04 memcached基本命令.wmv
首先,让我们了解一下Memcached的基本概念。Memcached基于一个简单的理念:将数据存储在内存中,以便快速访问。由于内存的读取速度远超硬盘,因此可以显著提升应用的响应速度。它支持多语言接口,包括PHP、Python、...
接下来,了解一些常用的Memcached命令: - `-p`:设置监听的端口号,如`-p 11211`。 - `-l`:指定监听的IP地址,默认为本地主机。 - `-d start`:启动服务。 - `-d restart`:重启服务。 - `-d stop|shutdown`:...
memcached的基本命令,windows下面绑定服务,默认设置在window下面不会生效,用sc命令可以让设置生效.
本文将详细讲解MemCached的安装过程,针对Linux和Windows两种操作系统,结合提供的文件进行说明。 首先,我们来看`libevent-1.4.11-stable.tar.gz`,这是一个用于处理网络事件的库,Memcached依赖于它来处理网络...
Memcached 还有其他的一些常用的命令,如下: * `-p` 监听的端口 * `-l` 连接的 IP 地址,默认是本机 * `-d start` 启动 Memcached 服务 * `-d restart` 重起 Memcached 服务 * `-d stop|shutdown` 关闭正在运行的 ...
综上所述,安装和配置Memcached for Windows涉及下载源码、安装服务、设置参数、测试及监控等多个步骤。理解这些知识点将有助于您在Windows环境中顺利部署和使用Memcached,提升Web应用的性能。
memcached的常用命令包括: - `-p`指定监听端口,默认为11211。 - `-l`设置监听的IP地址,默认为本地IP。 - `-d start`启动服务。 - `-d restart`重启服务。 - `-d stop|shutdown`停止服务。 - `-d install`安装服务...
Memcached命令及参数** - `key`: 键,用于查找缓存值。 - `flags`: 整型参数,用于存储关于键值对的额外信息。 - `exptime`: 键值对在缓存中保存的时间(秒,0表示永久)。 - `bytes`: 存储的字节数。 - `noreply`:...
1. **启动Memcached**:打开命令提示符,输入"memcached.exe -d install",这将安装Memcached为Windows服务。然后输入"memcached.exe -d start"启动服务。 2. **设置参数**:Memcached有许多可配置的参数,如监听...
memcached的基本命令,很不错哦。
在安装Java Memcached的过程中,首先需要确保你的系统中已经安装了必要的依赖软件,特别是GCC(GNU Compiler Collection),因为它是编译许多开源软件所必需的工具。以下是一个详细的步骤指南: ### 安装GCC 1. **...
5. **验证运行**:你可以使用`netstat -tulnp | grep memcached`命令检查memcached是否正常运行,并监听在指定端口。 **Java与memcached的交互**: 为了在Java应用中使用memcached,你需要一个Java客户端库。在提供...
memcached的基本设置: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 ...
2. Memcached基本概念: - **键值对**:Memcached的核心数据结构是键值对,键用于唯一标识数据,值则是与键关联的实际数据。 - **TTL(Time To Live)**:每个缓存项都有一个生存时间,过了这个时间,数据将被自动...
5. **验证安装**: 通过`telnet`命令或者专门的客户端工具连接到Memcached服务器,测试其是否正常工作。 ### 使用Memcached 使用Memcached通常需要编程接口,如PHP的PECL扩展、Python的pylibmc库或Java的...
2.在终端(也即cmd命令界面)下输入'c:\memcached\memcached.exe -d install'安装 3.再输入:'c:\memcached\memcached.exe -d start'启动。NOTE:以后memcached将作为windows的一个服务每次开机时自动启动。这样...
在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...
在C++中,你可以使用以下基本步骤来连接和操作Memcached: 1. 引入库:`#include <libmemcached/memcached.h>` 2. 初始化:`memcached_st *mem = memcached_create(NULL);` 3. 连接:`memcached_server_push(mem, ...
一、存储命令 存储命令的格式: <command> <key> <flags> <exptime> <bytes> 参数说明如下: set/add/replace 查找关键字 客户机使用它存储关于键值对的额外信息 ...这个set的命令在memcached中的使用