Memcached Client java连接Memcached集群环境

这段时间,在网上研究Memcached内存数据库,发现基于Memcached集群的java客户端连接相关的资料还是有点少,

决心研究一下怎么使用Memcached Java Client连接Memcached集群环境之后,写这篇文章:

真是惨,连接好之后,发现其实网上说的没错,原来是我自己搭集群环境的时候,因为是测试,所以写IP的时候写了本机IP:127.0.0.1!!!

直接导致客户端无法连接上我的实际IP:200.31.155.116:12001,然后还找不到原因!

搭建集群环境参考网址:

http://www.2cto.com/os/201506/406932.html

看来还是搭建环境的时候本机IP还是不能随便写,会忽略这个问题,java client代码copy的如下:

[java] view plain copy print?
import java.util.Date;  
  
import com.danga.MemCached.*;  
  
public class MemcacheManagerForGwhalin {  
  
    // 构建缓存客户端  
    private static MemCachedClient cachedClient;  
    // 单例模式实现客户端管理类  
    private static MemcacheManagerForGwhalin INSTANCE = new MemcacheManagerForGwhalin();  
  
    private MemcacheManagerForGwhalin() {  
        cachedClient = new MemCachedClient();  
          
        // 初始化SockIOPool,管理memcached的连接池  
        SockIOPool pool = SockIOPool.getInstance();  
  
        // 设置缓存服务器列表,当使用分布式缓存的时,可以指定多个缓存服务器。(这里应该设置为多个不同的服务器)  
        String[] servers = { "192.168.163.10:11211", "192.168.163.11:11211"  
        // 也可以使用域名 "server3.mydomain.com:1624"  
        };  
  
        pool.setServers(servers);  
        pool.setFailover(true);  
        pool.setInitConn(10); // 设置初始连接  
        pool.setMinConn(5);// 设置最小连接  
        pool.setMaxConn(250); // 设置最大连接  
        pool.setMaxIdle(1000 * 60 * 60 * 3); // 设置每个连接最大空闲时间3个小时  
        pool.setMaintSleep(30);  
        pool.setNagle(false);  
        pool.setSocketTO(3000);  
        pool.setAliveCheck(true);  
        pool.initialize();  
    }  
  
    /** 
     * 获取缓存管理器唯一实例 
     *  
     * @return 
     */  
    public static MemcacheManagerForGwhalin getInstance() {  
        return INSTANCE;  
    }  
  
    public void add(String key, Object value) {  
        cachedClient.set(key, value);  
    }  
  
    public void add(String key, Object value, int milliseconds) {  
        cachedClient.set(key, value, milliseconds);  
    }  
  
    public void remove(String key) {  
        cachedClient.delete(key);  
    }  
  
    public void remove(String key, int milliseconds) {  
        cachedClient.delete(key, milliseconds, new Date());  
    }  
  
    public void update(String key, Object value, int milliseconds) {  
        cachedClient.replace(key, value, milliseconds);  
    }  
  
    public void update(String key, Object value) {  
        cachedClient.replace(key, value);  
    }  
  
    public Object get(String key) {  
        return cachedClient.get(key);  
    }  
  
    public static void main(String[] args) {  
        //将对象加入到memcached缓存  
        cachedClient.add("keke", "This is a test String");  
        //从memcached缓存中按key值取对象  
        String result  = (String) cachedClient.get("keke");  
        System.out.println(result);  
    }  
      
}  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值