Memcached总结四:用ava程序连接memcached进行操作
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进行操作的更多相关文章
- Key/Value之王Memcached初探:一、掀起Memcached的盖头来
一.Memcached是何方神圣? 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的HttpRuntim ...
- 【转】Key/Value之王Memcached初探:一、掀起Memcached的盖头来
一.Memcached是何方神圣? 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的HttpRuntim ...
- 分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
- memcached安装及.NET中的Memcached.ClientLibrary使用详解
序言 吹吹牛逼先,借我你的20分钟,保证你在.net中使用memcached缓存数据,畅通无阻,提升数据读取效率,分担数据库压力,便不在话下. 本篇主要说下:memcached分布式缓存的负载均衡配置 ...
- (转)实战Memcached缓存系统(1)Memcached基础及示例程序
1.Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备. (2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数 ...
- (转)实战Memcached缓存系统(7)Memcached的一些基础FAQ
1. Memcached是什么? Memcached是分布式的内存对象缓存系统. 2. Memcached的基本数据结构是什么? Memcached是基于Key/Value对的HashMap.每一对, ...
- memcached的安装和linux下memcached服务自启动的配置
关于memcached在windows和linux环境的安装,以及在Linux系统系memcached服务自启动的配置,可以参考我在csdn上下的博客, windows和linux环境下memcach ...
- C#:memcached安装及.NET中的Memcached.ClientLibrary使用详解
memcached分布式缓存的负载均衡配置比例,数据压缩,socket的详细配置等,以及在.net中的常用方法. 下载地址:http://pan.baidu.com/s/1yVILw 提取 ...
- Memcached下载安装、NET对Memcached进行CRUD操作(2)
Memcached概念.作用.运行原理.特性.不足简单梳理(1) Memcached下载安装.NET对Memcached进行CRUD操作(2) Memcached存Session数据.访问安全性.使用 ...
随机推荐
- js内置对象处理-打印学生成绩单
效果图: 任务: 1.通过js的内置对象得到当前日期 var date=new Date(); var year=date.toString().slice(11,15); document.writ ...
- (转载)研究openvswitch的流量模式
最近又开始弄openvswitch,网上也有不少的资料,但是发觉都集中在openvswitch安装及简单使用或者一些原码分析,从心里来讲,感觉这些和心里得到的差距有点大啊,其实更希望能类似资料在ope ...
- 跨域方法之CORS
跨域的方法非常之多,如果想了解其中CORS,不要浪费时间,看下面三个就够了 了解CORS https://developer.mozilla.org/en-US/docs/Web/HTTP/Acc ...
- Spring之IOC容器初始化过程
Ioc容器的初始化是由refresh()方法来启动的,这个方法标志着Ioc容器的正式启动. 具体来说这个启动过程包括三个基本过程: 1.BeanDifinition的Resource定位 2.Bean ...
- SharePoint 学习记事(三)
做一件事情,计划很重要,但是变化会将一切的付出付诸东流. 13年年底,领导想要调整资源,准备启动项目.于是我们召开了一个类似于启动会的资源筹备会.(处于低成本的考虑,部门领导想要共享日本组的两个做.n ...
- RDLC打印或导出Word的 分页设置 页边距和页面大小
RDLC 导出Word的时候发现,Word的尺寸和页边距有问题,查了MSDN看到这样一段话 Page Sizing When the report is rendered, the Word page ...
- libipq —— iptables用户空间数据包排队库
LIBIPQ(3) NAMElibipq —— iptables用户空间数据包排队库 SYNOPSIS #include <linux/netfilter.h>#include <l ...
- QML定时器
QML中的定时器能够周期性的触发一个事件,其使用非常简单.方便.这里给出一个示例: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQu ...
- 百度地图LBS应用开发代码
最近因为工作需要,领导要我将51地图API开发的一个应用迁移到百度地图,或者说用百度地图API进行重写,实现同样的功能.我先是把现有的这个51地图的应用了解了一下,然后就试着用百度地图做一些demo, ...
- trigger
trigger() 方法触发被选元素的指定事件 <html><head><script type="text/javascript" src=&quo ...