Java程序使用memcached配置与示例

Memcached作为一款很强大的分布式缓存,经常被用到大型的互联网应用中,比如新浪微博等都采用memcached做缓存。

Memcached也经常和MySQL组合做数据缓存。

具体的介绍请参考官方网站:www.memcached.org

这里通过安装配置Memcached,并通过Java客户端来使用memcached进行存储和读取缓存数据。

环境:

Ubuntu10.04

Java1.6

如果没有安装libevent,先安装

(1) 安装libevent

(apt-get install的:libevent好像没有被认出来)

下载  http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz

libevent-2.0.12-stable$configure

libevent-2.0.12-stable$make

libevent-2.0.12-stable$sudo make install

(2)安装memcached

下载安装memcached1.4.5

http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

memcached-1.4.5$./configure

memcached-1.4.5$make

memcached-1.4.5$sudo make install

如果启动失败,找不到libevent,则连接一下

/usr/lib$ sudo ln -s /usr/local/lib/libevent-2.0.so.5 libevent-2.0.so.5

(3)启动

$ memcached

(4)下载Java客户端

http://memcached.googlecode.com/files/memcached-1.6.0_beta1.tar.gz

下载以后加到Java工程中作为库

(5) 示例

写了一个简单的例子,用于缓存一个对象(User)

import net.spy.memcached.MemcachedClient;

import java.io.IOException;

import java.io.Serializable;

import java.net.InetSocketAddress;

/*

* spymemcached也自带了几个例子,大家可以看看

* http://code.google.com/p/spymemcached/wiki/Examples

*/

class User implements Serializable{ //必须将对象序列化才能保存

public String userName;

public String password;

}

public class MemcachedTest {

public static void main(String[] args) throws IOException {

MemcachedClient c = new MemcachedClient(new InetSocketAddress(

"192.168.1.106", 11211));

//存取一个简单的Integer

// Store a value (async) for one hour

c.set("someKey", 3600, new Integer(4));

// Retrieve a value (synchronously).

Object myObject = c.get("someKey");

Integer result = (Integer) myObject;

System.out.println(result);

//存取一个序列化的对象

System.out.println("存之前的时间:" + System.currentTimeMillis());

User user1 = new User();

user1.userName = "ZhangSan";

user1.password = "alongpasswordhere";

c.set("user1", 3600, user1);

System.out.println("取之前的时间:" + System.currentTimeMillis());

User myUser1 = (User)(c.get("user1"));

System.out.println(myUser1.userName + " " + myUser1.password);

System.out.println("取之后的时间:" + System.currentTimeMillis());

}

}

执行的测试结果:

4

存之前的时间:1310259282865

取之前的时间:1310259282872

ZhangSan alongpasswordhere

取之后的时间:1310259282877

测试时Memcached和Client是装在不同的机器上的。

从结果上看,存取花了7毫秒,读取花了5毫秒。 是快还是慢呢

另:MySQL Cluster 7.2 好像已经支持Memcached了,不需要单独配置memcached了。

参考资料:

不错的关于Memcached的视频

http://mysql.com/news-and-events/on-demand-webinars/display-od-158.html

时间: 2024-10-16 10:50:36

Java程序使用memcached配置与示例的相关文章

Java千问:开发Java程序为什么要配置环境变量?

我们在学习搭建Java开发环境的时候,老师总是让我们先安装JDK,紧接着又让我们去配置环境变量,之后才能动手编写Java程序.很多同学按照老师的步骤去做,成功的搭建好了Java开发环境,并且运行出了自己的第一个Java程序,感到非常有成就感. 那么,为什么在安装了JDK之后要配置环境变量呢?很多同学对这个问题其实并不清楚,只是知道如果不配置环境变量,就没法进行Java开发.今天,咱们就来聊聊为什么要配置环境变量.其实,配置环境变量的目的很简单:为了在命令行窗口下编译和运行Java程序.大家请注意

sublime text3编译运行C,Java程序的一些配置

环境:linux 64位 桌面环境: gnome Java编译运行 (1)Preferences --> Browse Packages --> 在该文件夹下新建build文件如: MyjavaC.sublime-build, 粘贴以下代码: { "cmd": ["javac \"$file_name\" && java \"$file_base_name\""], "shell"

Eclipse下导出java程序可执行的jar包图片无法显示问题的一种解决方法

说明:在eclipse中运行java程序的时候一切正常,可是当把jar包导出的时候却发现图片没法显示,这估计是java程序的各种配置和路径问题所导致,后来找到一种解决方法,供遇到这方面问题的学习java程序的鞋同参考: Java项目下的目录结构如下: 其中class类放在包:package accpedu; (即实际是在如上bin/accpedu文件夹下面) 通过下面的方法来引用图片时,在eclipse里面执行是可以正常显示图片的: ImageIcon image1 = new ImageIco

Java程序员修炼之道 之 Logging(1/3) - Logback 配置

写在前面的话: 作为<Java程序员修炼之道>博文的第一个主题Logging,我计划中按照如下三篇来写: Logback的简单介绍和配置 在Java代码中如何使用SLF4J来写日志以及写日志的要点 作为一个程序员,在日常工作中如何分析和挖掘Log. PS:默认生成的目录不对,仔细检查过了,我的h1,h2,h3,h4用的都没错. 1. 缘起 写代码中的日志是一个除了用代码实现功能之外最基础最基础的一个技能了,是一个必须掌握的技能.但是目前为止,关于如何日志的文章和书籍还是不多. 1.1 写日志的

Java程序员修炼之道 之 Logging(1/3) - Logback 配置(转)

转自紫风乱写:http://www.blogjava.net/justfly/archive/2014/08/10/416768.html,建议大家去原处学习 写在前面的话: 作为<Java程序员修炼之道>博文的第一个主题Logging,我计划中按照如下三篇来写: Logback的简单介绍和配置 在Java代码中如何使用SLF4J来写日志以及写日志的要点 作为一个程序员,在日常工作中如何分析和挖掘Log. 1. 缘起 写代码中的日志是一个除了用代码实现功能之外最基础最基础的一个技能了,是一个必

【JAVA版】Storm程序整合Kafka、Mongodb示例及部署

一.环境 一台Centos6.5主机 Mongo 3.0 Kafka_2.11-0.8.2.1 Storm-0.9.5 Zookeeper-3.4.6 java 1.7 (后因在mac上打包的jar由1.8编译没法儿运行,改为java 1.8) 其余环境暂略 二.运行启动 启动zookeeper 确认配置正确,配置相关可自行搜索. [[email protected] zookeeper-3.4.6]#pwd /data0/xxx/zookeeper-3.4.6 [[email protecte

【菜鸟入门】安装配置eclipse 并编写运行第一个Java程序

不得不吐槽一下,安装配置这eclipse真是太费劲了...下面总结一下,以便下次再安装 本人 win10系统,64位机 一.在官网下载eclipse安装包 文件名:eclipse-inst-win64.exe 网址:https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-win64.exe //建议下载前点击"Select Another Mirror",选择一个国内镜像,

给你的JAVA程序配置参数(Properties的使用)

我们在写JAVA程序时,很多时候运行程序的参数是需要动态改变的 测试时一系列参数,运行时一系列参数 又或者数据库地址也需要配一套参数,以方便今后的动态部署 这些变量的初始化,我们在写小DEMO时完全可以写死在JAVA文件中 但程序需要发布或者局部部署时,这些参数就需要脱离程序代码了 我们有多种存放参数的方式,比如数据库.XML文件又或者直接是txt文件 现在介绍一种使用JAVA,简单方便的参数读取方式 .properties文件,我们并不陌生,很多优秀的框架中就能看到它的存在,比如Hiberna

1.配置EditPuls-编译和运行java程序

1.工具>配置自定义工具 2.添加工具>程序 1).编译java程序 2).运行java程序