`
dreamoftch
  • 浏览: 486643 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Memcached java linux下测试

阅读更多

 

 

参考:Centos6.5下安装Memcached完整示例

 

首先去memcached官网下载并安装Memcached

 

下载安装包:memcached-1.x.x.tar.gz

 

tar -zxvf memcached-1.x.x.tar.gz

cd memcached-1.x.x

./configure && make && make test && sudo make install(这个步骤执行make test的时候提示有200多个test case,但是只执行了100多个,然后就出错了。。。,后来直接跳过这一步就好了。。。)

 

安装完了之后,按照官网的说明,使用telnet去测试下,如果telnet没有安装的话,执行下面步骤安装:

 

yum install telnet-server 

 

yum install telnet 

 

然后编辑vi /etc/xinetd.d/telnet,将里面的disable=yes 改为 no

重启服务 service xinetd restart 即可。

 

然后在memcached目录下启动服务:memcached -d start -u username

 

首先用telnet测试下:(default port is 11211)

 

telnet localhost 11211

就可以进入memcached黑窗口

 

add key1 0 60 5(回车)

abcde(回车)

这样就插入了数据,key是key1, 有效期60秒, 长度是5个字符,value是abcde

 

add的时候,如果key是key1的数据已经存在,则会失败(提示:NOT_STORED)

 

get key1(回车)

查询key为key的数据

 

set key1 0 60 3

abc

更新key为key1的数据,其他跟add一样,不过set如果发现没有key为key1的数据,就会插入数据,相当于add

 

replace也是更新,跟set不同的是,如果key对应的数据不存在,则不会插入数据,会提示 NOT_STORED,成功会提示STORED

 

delete key1

删除key为key1的数据。

 

 

下面是使用java的测试:(使用memcached-java-client)

 

下载需要的jar:

maven方式:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tch.test</groupId>
  <artifactId>memcached</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>memcached</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.whalin</groupId>
      <artifactId>Memcached-Java-Client</artifactId>
      <version>3.0.2</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.2</version>
    </dependency>
  </dependencies>
</project>

 

 

https://github.com/gwhalin/Memcached-Java-Client/downloads

 

共四个jar:commons-pool  java_memcached-release  slf4j-api  slf4j-simple

 

然后写测试类:

 

import java.util.Date;

import com.whalin.MemCached.MemCachedClient;
import com.whalin.MemCached.SockIOPool;

public class MemCached {
    protected static MemCachedClient mcc = new MemCachedClient();

    protected static MemCached memCached = new MemCached();

    static {
        String[] servers = { "localhost:11211" };
        Integer[] weights = { 3 };

        SockIOPool pool = SockIOPool.getInstance();

        pool.setServers(servers);
        pool.setWeights(weights);

        pool.setInitConn(5);
        pool.setMinConn(5);
        pool.setMaxConn(250);
        pool.setMaxIdle(1000 * 60 * 60 * 6);

        pool.setMaintSleep(30);

        pool.setNagle(false);
        pool.setSocketTO(3000);
        pool.setSocketConnectTO(0);

        pool.initialize();
    }

    protected MemCached() {

    }

    public static MemCached getInstance() {
        return memCached;
    }

    public boolean add(String key, Object value) {
        return mcc.add(key, value);
    }

    public boolean add(String key, Object value, Date expiry) {
        return mcc.add(key, value, expiry);
    }

    public boolean replace(String key, Object value) {
        return mcc.replace(key, value);
    }

    public boolean replace(String key, Object value, Date expiry) {
        return mcc.replace(key, value, expiry);
    }

    public boolean delete(String key) {
        return mcc.delete(key);
    }

    public Object get(String key) {
        return mcc.get(key);
    }

    public static void main(String[] args) {
        System.out.println("begin getInstance ....");
        MemCached cache = MemCached.getInstance();
        cache.add("key1", 18);
        System.out.println("finish getInstance ....");
        System.out.println("key1 get value : " + cache.get("key1"));
    }
}

 

 

然后把jar包以及测试类传到linux上面(把jar包都放到lib文件夹下

 

编译:

javac -classpath ./lib/*:$CLASSPATH MemCached.java

 

执行:

java -classpath ./lib/*:$CLASSPATH MemCached

 

就可以看到结果啦。。。

 

 

 

 

 

 

分享到:
评论

相关推荐

    Memcached基于Linux的安装详解以及需要的jar包

    本包包括了Linux安装命令以及Memcached安装所有的jar包,另外附加客户端测试java代码所依赖的jar

    java_memcached-release_2.5.1

    Memcached Cache现在已经被大家广泛使用,但是千万不要认为对Cache的操作是低损耗的,要知道这类集中式Cache对Socket连接数(会牵涉到linux操作系统文件句柄可用数),带宽,网络IO都是有要求的,有要求就意味着会有...

    Memcached与JAVA实例与文档

    有实例,window环境下安装包,安装文档,使用文档,LINUX下说明文档等等,基本上所有的东西都全了.如果还有少的,请大家帮忙补充谢谢.如果是在WINDOWS下测试,安装一下安装包然后执行实例就可以了,命令窗口不要...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包101

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    八股文知识点汇总——Java面试题指南

    内含: JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 ...Memcached面试题 ...Linux面试题

    java开源包11

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包6

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包9

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包8

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包5

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包10

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包1

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包3

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包2

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包7

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    Java资源包01

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.6 Linux下常见的性能分析工具 10.6.1 vmstat命令 10.6.2 sar命令 10.6.3 iostat命令 10.6.4 free命令 10.6.5 uptime命令 10.6.6 netstat命令 10.6.7 top命令 10.7 基于Web应用的性能分析及优化...

Global site tag (gtag.js) - Google Analytics