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. js内置对象处理-打印学生成绩单

    效果图: 任务: 1.通过js的内置对象得到当前日期 var date=new Date(); var year=date.toString().slice(11,15); document.writ ...

  2. (转载)研究openvswitch的流量模式

    最近又开始弄openvswitch,网上也有不少的资料,但是发觉都集中在openvswitch安装及简单使用或者一些原码分析,从心里来讲,感觉这些和心里得到的差距有点大啊,其实更希望能类似资料在ope ...

  3. 跨域方法之CORS

    跨域的方法非常之多,如果想了解其中CORS,不要浪费时间,看下面三个就够了 了解CORS   https://developer.mozilla.org/en-US/docs/Web/HTTP/Acc ...

  4. Spring之IOC容器初始化过程

    Ioc容器的初始化是由refresh()方法来启动的,这个方法标志着Ioc容器的正式启动. 具体来说这个启动过程包括三个基本过程: 1.BeanDifinition的Resource定位 2.Bean ...

  5. SharePoint 学习记事(三)

    做一件事情,计划很重要,但是变化会将一切的付出付诸东流. 13年年底,领导想要调整资源,准备启动项目.于是我们召开了一个类似于启动会的资源筹备会.(处于低成本的考虑,部门领导想要共享日本组的两个做.n ...

  6. RDLC打印或导出Word的 分页设置 页边距和页面大小

    RDLC 导出Word的时候发现,Word的尺寸和页边距有问题,查了MSDN看到这样一段话 Page Sizing When the report is rendered, the Word page ...

  7. libipq —— iptables用户空间数据包排队库

    LIBIPQ(3) NAMElibipq —— iptables用户空间数据包排队库 SYNOPSIS #include <linux/netfilter.h>#include <l ...

  8. QML定时器

    QML中的定时器能够周期性的触发一个事件,其使用非常简单.方便.这里给出一个示例: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQu ...

  9. 百度地图LBS应用开发代码

    最近因为工作需要,领导要我将51地图API开发的一个应用迁移到百度地图,或者说用百度地图API进行重写,实现同样的功能.我先是把现有的这个51地图的应用了解了一下,然后就试着用百度地图做一些demo, ...

  10. trigger

    trigger() 方法触发被选元素的指定事件 <html><head><script type="text/javascript" src=&quo ...