`

memcache 之windows下的使用

阅读更多

memcached 是一个高效的分布式的内存对象缓存系统 ,他可以支持把各种数据(数组,对象,基本数据类型,资源除外)放入到它管理的内存中。它采用c/s结构,使用简单文本通讯并 基于libevent处理并发,将数据存入内存的缓存工具,它是基于 基于客户端的分布式,服务器端本身并不是分布式的。

 

Memcache(Memcached)是集群环境下的缓存解决方案。  它是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。


win32系统下的安装步骤:
①下载memcached软件
②解压 其中有一个memcached.exe文件
③安装memcached –d install [卸载使用 memcached -d uninstall]
④启动 memcached 服务
(1)直接通过界面启动该服务
(2)在控制台下启动 memcached –d start   [命令一览表]
⑤查看memcached 服务是否启动成功! 默认端口11211 通过netstat -anb命令可以查看

memcached的基本命令(安装、卸载、启动、配置相关):
-p 监听的端口
-l 连接的IP地址, 默认是本机 
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助







注意:win7下的通过控制台安装必须 启用管理员权限启动命令行窗口才可以运行命令。

使用方法一:
telnet的使用(win7下 默认情况telnet没有开启,需要在控制面板-->程序和功能,中通过打开或关闭功能,开题telnet即可开启telnet)
telnet://ip 11211即可对memcache进行远程操作。

使用方法二:
通过java客户端api的方式。
采用了spymemcached  下载地址:http://spymemcached.googlecode.com/  它依赖 spy.jar,spy.jar的下载地址:http://bleu.west.spy.net/~dustin/repo/spy/jars/spy-2.4.jar

public class MemcacheTest {
	public static void main(String[] args) {
		MemcachedClient client=null;
		try {
			client = new MemcachedClient(new InetSocketAddress("localhost",11211));
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}
		client.add("name", 60, "小明");
		GetFuture<Object> name=client.asyncGet("name");
                //这里是异步操作,如果出现了 服务器端超时,则可以抛出异常,否则会阻塞
		try {
			System.out.println(name.get(5, TimeUnit.SECONDS));
		} catch (InterruptedException e) {
			System.out.println(e.getMessage());
		} catch (TimeoutException e) {
			System.out.println(e.getMessage());
		} catch (ExecutionException e) {
			System.out.println(e.getMessage());
		}
		client.shutdown();
	}
}

 memcached的基本命令(memcached 启动后用于对memcached管理的数据和本身运行状态相关的命令)

Command

Description

Example

get

Reads a value

get mykey

set

Set a key unconditionally

set mykey 0 60 5

add

Add a new key

add newkey 0 60 5

replace

Overwrite existing key

replace key 0 60 5

append

Append data to existing key

append key 0 60 15

prepend

Prepend data to existing key

prepend key 0 60 15

incr

Increments numerical key value by given number

incr mykey 2

decr

Decrements numerical key value by given number

decr mykey 5

delete

Deletes an existing key

delete mykey

flush_all

Invalidate specific items immediately

flush_all

Invalidate all items in n seconds

flush_all 900

stats

Prints general statistics

stats

Prints memory statistics

stats slabs

Prints memory statistics

stats malloc

Print higher level allocation statistics

stats items

 

stats detail

 

stats sizes

Resets statistics

stats reset

version

Prints server version.

version

verbosity

Increases log level

verbosity

quit

Terminate telnet session

quit

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics