Memcached使用手册

memcached简介

1memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

2、它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
3
Memcached基于一个存储键/值对的hashmap
4
、其守护进程(daemon )是用C写的,
5
、但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

memcached安装说明

1、windows安装:参照http://www.cnblogs.com/wucg/archive/2011/03/01/1968185.html

2、liunx安装:参照http://chenzhou123520.iteye.com/blog/1933489

memcached使用方法

1、  安装完memcached后,如何连接memached呢?

使用telnet命令连接memcached服务器,在windows下有可能提示telnet命令无效,是由于telnet客户端没有安装,安装方法参见(http://jingyan.baidu.com/article/925f8cb839ca6bc0dce05666.html)。

telnet连接memcached命令如下图

 技术分享

开始什么都不显示,回车后输入命令 stats 查看统计信息,如下图,说明服务器运作正常。

 技术分享

看到这样的信息表示memcached安装运行正常,使用telnet连接memcached成功。

常用memcached命令详解

Memcached作为缓存服务器,对其操作的命令主要分为三类:

1、  服务器状态命令:可以查看memcahced服务的当前状态

2、  数据存储命令:如何存储数据到memcached服务器中

3、  数据读取命令:获取memacahed服务器中的数据

4、  数据删除命令:删除memcached服务器中的数据

 

一、服务器状态命令

1、 stats: memcached 实例的当前统计数据。

STAT pid 22459                             进程ID 
STAT uptime 1027046                        服务器运行秒数 
STAT time 1273043062                       服务器当前unix时间戳 
STAT version 1.4.4                         服务器版本 
STAT pointer_size 64                       操作系统字大小(这台服务器是64位的) 
STAT rusage_user 0.040000                  进程累计用户时间 
STAT rusage_system 0.260000                进程累计系统时间 
STAT curr_connections 10                   当前打开连接数 
STAT total_connections 82                  曾打开的连接总数 
STAT connection_structures 13              服务器分配的连接结构数 
STAT cmd_get 54                            执行get命令总数 
STAT cmd_set 34                            执行set命令总数 
STAT cmd_flush 3                           指向flush_all命令总数 
STAT get_hits 9                            get命中次数 
STAT get_misses 45                         get未命中次数 
STAT delete_misses 5                       delete未命中次数 
STAT delete_hits 1                         delete命中次数 
STAT incr_misses 0                         incr未命中次数 
STAT incr_hits 0                           incr命中次数 
STAT decr_misses 0                         decr未命中次数 
STAT decr_hits 0                           decr命中次数 
STAT cas_misses 0    cas未命中次数 
STAT cas_hits 0                            cas命中次数 
STAT cas_badval 0                          使用擦拭次数 
STAT auth_cmds 0 
STAT auth_errors 0 
STAT bytes_read 15785                      读取字节总数 
STAT bytes_written 15222                   写入字节总数 
STAT limit_maxbytes 1048576                分配的内存数(字节) 
STAT accepting_conns 1                     目前接受的链接数 
STAT listen_disabled_num 0                 
STAT threads 4                             线程数 
STAT conn_yields 0 
STAT bytes 0                               存储item字节数 
STAT curr_items 0                          item个数 
STAT total_items 34                        item总数 
STAT evictions 0                           为获取空间删除item的总数

二、数据存储命令

1、  set 命令

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

实例:set username  0  0  8。

注意一点就是:如果设定存储字节数为8的话,那么在输入的存在内容时,内容大小必须是8个字节,否则存储不成功。

2、   add 命令

add命令使用方法与set完全一致,区别是只有数据不存在时进行添加的add,如果已经存在一个key为username的数据,add不成功。

3、  replace 命令

replace命令使用方法与set完全一致,区别是只有数据存在时才能进行数据更新,如果replace一个不存在的key的数据,则replace不成功。与add命令相反。

 

三、数据读取命令

1、  get命令

get空格key 可以获取指定key的数据。多个key可以用空格隔开

 技术分享

2、  gets命令

 技术分享

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

四、数据删除命令

1、  delete命令

 技术分享

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

java操作memcached工具介绍

java客户端操作memcached服务器的常用工具有:memcached client for java 和spymemcached。比较常用的就是memcached client for java。目前项目中使用的是memcached client for java。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。