我爱小虾 发表于 2017-4-16 08:15:17

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



页: [1]
查看完整版本: memcache 之windows下的使用