1. Memcached的Java环境设置

需要下载spymemcached-2.10.3.jar,并把这个jar放到java程序的classpath中才能使用memcached。

在下面的程序,假设memcached服务器的主机IP是192.168.1.111,并在端口11211上运行。

1. Memcached添加数据(set方法)

/**
* set方法
*/
public static void set() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11111));
// not set data into memcached server
System.out.println("set status:"
+ mcc.set("hello", 900, "helloworld"));
// Get value from cache
System.out.println("Get from Cache:" + mcc.get("hello"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

2. Memcached添加数据(add方法)

/**
* add方法
*/
public static void add() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
mcc.add("key", 900, "memcached");
System.out.println(mcc.get("key"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

3. Memcached替换/Replace数据(replace方法)

/**
* replace方法
*/
public static void replace() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
// 修改存在的键
System.out.println(mcc.get("key"));
mcc.replace("key", 900, "mongodb");
System.out.println(mcc.get("key"));// mongodb
// 修改不存在的键
mcc.replace("no", 900, "noexit");
System.out.println(mcc.get("no"));// null
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

4. Memcached追加/append方法(append方法)

/**
* append
*/
public static void append() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
System.out.println(mcc.get("key"));
mcc.append("key", "nosql");
System.out.println(mcc.get("key"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

5. Memcached预先添(prepend方法)

/**
* prepend
*/
public static void prepend() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
System.out.println(mcc.get("key"));
mcc.prepend("key", "redis");
System.out.println(mcc.get("key"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

6. Memcached cas命令(cas方法)

cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。

要运行memcached的cas命令,需要从gets命令得到memcached令牌。

/**
* cas方法
*/
public static void cas() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
System.out.println(mcc.get("key"));
long casToken = mcc.gets("key").getCas();
System.out.println(casToken);
mcc.cas("key", casToken, 900, "mongodb");
System.out.println(mcc.get("key"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

7. Memcached获取/get数据(get方法)

/**
* get方法
*/
public static void get() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
// not set data into memcached server
System.out.println("set status:"
+ mcc.set("hello", 900, "helloworld"));
// Get value from cache
System.out.println("Get from Cache:" + mcc.get("hello"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

8. Memcached gets命令(gets方法)

/**
* gets方法
*/
public static void gets() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
long casToken = mcc.gets("key").getCas();
System.out.println(casToken);
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

9. Memcached删除/Delete数据(delete方法)

/**
* delete方法
*/
public static void delete() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
System.out.println(mcc.get("key"));
mcc.delete("key");
System.out.println(mcc.get("key"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

10. Memcached递增递减数据(incr方法和decr方法)

Memcached的incr 和 decr命令用于增加现有键的数值递减。如果键未找到或如果关键的不是数字,则返回NOT_FOUND。那么CLIENT_ERROR不能增加或返回递减非数值错误。

/**
* incr方法和decr方法
*/
public static void incr_decr() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
System.out.println(mcc.get("num"));
mcc.incr("num", 5);
System.out.println(mcc.get("num"));
System.out.println("------------------>");
mcc.decr("num", 10);
System.out.println(mcc.get("num"));
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

11. Memcached Stats命令(stats命令)

    /**
* stats方法
*/
public static void stats() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
System.out.println(mcc.getStats());
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

12. Memcached清除数据(flush方法)

/**
* flush_all方法
*/
public static void flush_all() {
try {
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(
"192.168.1.111", 11211));
System.out.println(mcc.flush().isDone());
mcc.shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

Memcached总结四:用ava程序连接memcached进行操作的更多相关文章

  1. Key/Value之王Memcached初探:一、掀起Memcached的盖头来

    一.Memcached是何方神圣? 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的HttpRuntim ...

  2. 【转】Key/Value之王Memcached初探:一、掀起Memcached的盖头来

    一.Memcached是何方神圣? 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的HttpRuntim ...

  3. 分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用

    Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...

  4. memcached安装及.NET中的Memcached.ClientLibrary使用详解

    序言 吹吹牛逼先,借我你的20分钟,保证你在.net中使用memcached缓存数据,畅通无阻,提升数据读取效率,分担数据库压力,便不在话下. 本篇主要说下:memcached分布式缓存的负载均衡配置 ...

  5. (转)实战Memcached缓存系统(1)Memcached基础及示例程序

    1.Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备. (2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数 ...

  6. (转)实战Memcached缓存系统(7)Memcached的一些基础FAQ

    1. Memcached是什么? Memcached是分布式的内存对象缓存系统. 2. Memcached的基本数据结构是什么? Memcached是基于Key/Value对的HashMap.每一对, ...

  7. memcached的安装和linux下memcached服务自启动的配置

    关于memcached在windows和linux环境的安装,以及在Linux系统系memcached服务自启动的配置,可以参考我在csdn上下的博客, windows和linux环境下memcach ...

  8. C#:memcached安装及.NET中的Memcached.ClientLibrary使用详解

    memcached分布式缓存的负载均衡配置比例,数据压缩,socket的详细配置等,以及在.net中的常用方法. 下载地址:http://pan.baidu.com/s/1yVILw       提取 ...

  9. Memcached下载安装、NET对Memcached进行CRUD操作(2)

    Memcached概念.作用.运行原理.特性.不足简单梳理(1) Memcached下载安装.NET对Memcached进行CRUD操作(2) Memcached存Session数据.访问安全性.使用 ...

随机推荐

  1. RabbitMQ 原文译04--路由

    在前一篇文章中我们构建了一个简单的日志系统,我们可以向多个接受者广播消息. 在这篇文章我,我们将要添加一些功能使得针对部分消息的接受成为可能,例如我们只对错误的消息进行磁盘记录,同时又可以把所有的消息 ...

  2. HTML——<meta http-equiv="content-type" content="text/html; charset=UTF-8">

    没有添加这句话的编码方式的话,很容易就乱码了 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&g ...

  3. SimpleDateFormat 的性能和线程安全性

    系统正常运行一段时间后,QA报给我一个异常: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.text.DecimalFo ...

  4. C++例题练习(1)

    环境:Dev-C++( Version:5.6.1) 一.求2个或3个正整数中的最大数,用带有默认参数的函数实现 代码实现: #include <iostream> using names ...

  5. jquery load

    $('#loadFooter').click(function() { $('#footer').load('footer.html'); });

  6. ### MATLAB - CUDA

    MATLAB下使用CUDA. #@author: gr #@date: 2014-04-08 #@email: forgerui@gmail.com 一. Matlab & C 1. 概念 M ...

  7. html-----017

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. WPF的TextBox的焦点获取与失去焦点的死循环解决方案

    在WPF中实现一个弹出层自动获取焦点,弹出层实现是通过其UserControl的依赖属性Visibility的绑定实现的,让UserControl上的TextBox获取焦点,初始实现代码如下: pub ...

  9. [ADO.NET]写入数据

    关键字:.NET,SQL SERVER,SQLBULKCOPY 插入一条数据的操作(SqlCmd). public void InsertOneIntoSourceDB() { if (DBConne ...

  10. dubbo监控活跃线程数

    telnet对应dubbo服务的ip+端口号 status -l 其中的active就是当前的活跃线程数 通过程序定时探测写入DB,再查询渲染出来就好了 监控报警,如果已经有监控平台,可以通过一定的规 ...