memcache java客户端代码示例

Memcache是danga.com的一个开源项目,它是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的Hash表,能够用来存储各种格式的数据。 总结下memcache java客户端代码示例,不是很全。

package com.lzf.demo.memcached;

import java.util.List;
import java.util.Map;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
import com.schooner.MemCached.MemcachedItem;

public class MemcachedServer {
    public MemcachedServer(){
        String[] servers = {"192.168.84.120:11211"};
        SockIOPool pool = SockIOPool.getInstance();
        pool.setServers(servers);
        pool.setFailover(true);//容错
        pool.setInitConn(10);//设置初始连接数
        pool.setMinConn(5); //设置最小连接数
        pool.setMaintSleep(30);//设置连接池维护线程的睡眠时间
        pool.setNagle(false); //是否使用nagle算法
        pool.setSocketConnectTO(3000);// 设置socket的读取等待超时时间
        pool.setAliveCheck(true);//设置连接心跳检测开关
        pool.setHashingAlg(SockIOPool.CONSISTENT_HASH);// 设置hash算法
        pool.initialize();
    }

    public void addMsg(){
        MemCachedClient memCachedClient = new MemCachedClient();
        memCachedClient.add("key", 1);
        memCachedClient.set("key", 2);
        memCachedClient.replace("key", 3);
    }
    public String getMsg(String key){
        MemCachedClient memCachedClient = new MemCachedClient();
        String result ="";
        Object value = memCachedClient.get(key);
        result = value.toString();

        return result;
    }
    public Map<String,Object> getMsgs(String[] keys){
        MemCachedClient memCachedClient = new MemCachedClient();
        Map<String,Object> result = memCachedClient.getMulti(keys);
        return result;
    }

    //给key 对应的值增加前缀
    public void prepend(String key,String prepend){
        MemCachedClient memCachedClient = new MemCachedClient();
        memCachedClient.prepend(key, prepend);
    }
    //给key对应的值增加后缀
    public void append(String key,String append){
        MemCachedClient memCachedClient = new MemCachedClient();
        memCachedClient.append(key, append);
    }

    //通过gets()方法获取key对应的值和值得版本号,然后使用cas()方法对值进行修改
    public void updateIntValue(String key,int value){
        MemCachedClient memCachedClient = new MemCachedClient();
        MemcachedItem item = memCachedClient.gets(key);
        memCachedClient.cas(key, (Integer)item.getValue()+value, item.getCasUnique());
    }
    //对缓存数据进行增量操作
    public void incr(String key ,int value){
        MemCachedClient memCachedClient = new MemCachedClient();
        memCachedClient.incr(key,value);
    }
    //对缓存数据进行减量操作
    public void decr(String key ,int value){
        MemCachedClient memCachedClient = new MemCachedClient();
        memCachedClient.decr(key,value);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值