当前位置:首页 > 开发 > 编程语言 > 缓存Cache > 正文

Memcached java linux下测试

发表于: 2015-05-19   作者:dreamoftch   来源:转载   浏览次数:
摘要:     参考: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 &

 

 

参考: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 java linux下测试

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存
最近项目中,想用memcached来做分布式缓存。于是学习了一下基本的配置很安装。 具体过程如下: Linux
1.环境说明 ubuntu 12.04 源码存储路径 /home/wzw/workstation/src 安装路径 /home/wzw/workstation
所用到的工具: putty小软件 可以远程连接主机的小软件 然后在屏幕上输入用户名root 密码:******即
1 Memcached 介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库
一、准备工作: 1.下载libevent:http://monkey.org/~provos/libevent/ (由于memcached与客户端的
在本文的上篇中: http://bluedash.iteye.com/blog/1566190 我们了解了测试的基本概念,学习了JUnit3
Memcached JJAVA Client 性能测试 测试方案 机器环境 我的小本本,thinkPad410,4G内,i5cpu虚拟4核
Memcached JJAVA Client 性能测试 测试方案 机器环境 我的小本本,thinkPad410,4G内,i5cpu虚拟4核
bilbo 测试成功,Linux总算有办法可以发点东西了!!! 原来在Linux下是通过FireFox发的,但是CSDN
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号