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. Activiti源码浅析:Activity与Task

    最近由于接触到Activiti工作流引擎,因此粗读了一下它的源码. 总结了一些内容如下,这些内容一般的doc上都是没有提及的. 1. model.Activity与model.Task Activit ...

  2. [转]十年前的老文:以 Linux 的名义

    一.灰姑娘的狂欢 今年初,林纳斯·托瓦兹承认:“如果在12年前,有人告诉我Linux会发展到今天的模样,我肯定会惊得目瞪口呆.” 托瓦兹说的是实话.1991年,这名21岁的芬兰赫尔辛基大学的学生,偶然 ...

  3. ios - cordova 简介

    Cordova 是一个可以让 JS 与原生代码(包括 Android 的 java,iOS 的 Objective-C 等)互相通信的一个库,并且提供了一系列的插件类,比如 JS 直接操作本地数据库的 ...

  4. How to: Signing Installers You Create with Inno Setup

    Original Link: http://revolution.screenstepslive.com/s/revolution/m/10695/l/95041-signing-installers ...

  5. 存储占用:Memory Map 汉化去广告版

    转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/storage-occupancy-memory-map-localization-to-billboards ...

  6. 最受欢迎的15个Python开源框架

    GitHub中15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. 1.Django: Python Web应用开发框架 Django 应 ...

  7. lamp 中基本配置常识

    // apache// 禁止访问目录// 开启 url重写// 重写定义错误页面// 日志分页// 增加并发连接数// 设置连接连接的时间 // threadsPerChild // 每个进程的线程数 ...

  8. (转载)ADOQuery参数传递

    ADOQuery参数传递 dbgrid1.DataSource := datasource1; datasource1.DataSet := adoquery1; Value := 1221; SQL ...

  9. RSA使用 常识

    1公钥加密,私钥解密  OK反过来, 私钥加密,公钥解密 也OK 2 使用RSA加密 对称算法的key ,用对称算法加密 消息.伙伴收到消息后,RSA解密出 对称算法的key,再用这个key去解密消息 ...

  10. 021,lambda 表达式

    021,lambda 表达式  匿名函数: 快速定义单行的最小函数,是从lisp借用来的,可以用在任何需要函数的地方 >>> def ds(x):     return 2*x +  ...