`
qlma
  • 浏览: 53650 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java MemCache client application Model

阅读更多
这段时间解决系统的瓶颈,首要是对memcache的优化,今天得空将目前在用的memcache整理了一下,贴个客户端实体类-----这里设置的参数都是通过配置文件的。道理很简单,以戒后用
(注:http://code.google.com/p/memcache-client-forjava/downloads/list 本次使用的是来自这里的封装包,网上结论说alisoft memcache 性能不高,经高压下使用,个人感觉确实不妥。
可考虑使用 http://www.whalin.com/memcached/#download )
package yixun.wap.cache;

/** *//**
* @deprecated mem-cache缓存类 备用类
* @author Administrator
* @date 2009-11-15 14:08:02 更新
*/
import java.util.Date;
import com.alisoft.xplatform.asf.cache.memcached.client.MemCachedClient;
import com.alisoft.xplatform.asf.cache.memcached.client.SockIOPool;
import yixun.wap.resourcesload.MemcacheConfig;

public class MemCache {
    private static MemCachedClient mcc = null;
    static {
        mcc = new MemCachedClient();
        Boolean nagle = false;
        Boolean ce = true;
       
//         获取socke连接池的实例对象
        SockIOPool pool = SockIOPool.getInstance();
       
//         设置服务器信息
        pool.setServers(MemcacheConfig.getServers().split(";"));
        String[] weights = MemcacheConfig.getWeights().split(";");
        Integer[] wei = new Integer[weights.length];
        for (int i = 0; i < weights.length; i++) {
            wei[i] = Integer.parseInt(weights[i]);
        }
        pool.setWeights(wei);
       
       
//         设置初始连接数、最小和最大连接数以及最大处理时间
        pool.setInitConn(Integer.parseInt(MemcacheConfig.getInitconn()));
        pool.setMinConn(Integer.parseInt(MemcacheConfig.getMinconn()));
        pool.setMaxConn(Integer.parseInt(MemcacheConfig.getMaxconn()));
        pool.setMaxIdle(Long.parseLong(MemcacheConfig.getMaxidle()));
       
//         设置主线程的睡眠时间
        pool.setMaintSleep(Long.parseLong(MemcacheConfig.getMaintsleep()));
        if (!MemcacheConfig.getNagle().equals("false")) {
            nagle = true;
        }
       
//         设置TCP的参数,连接超时等
        pool.setNagle(nagle);
        pool.setSocketTO(Integer.parseInt(MemcacheConfig.getSocketTO()));
        pool.setSocketConnectTO(Integer.parseInt(MemcacheConfig.getSocketConnectTO()));
       
//         初始化连接池
        pool.initialize();
       
//         压缩设置,超过指定大小(单位为K)的数据都会被压缩
        if (MemcacheConfig.getCompressEnable().equals("false")) {
            ce = false;
        }       
        mcc.setCompressEnable(ce);
        mcc.setCompressThreshold(Long.parseLong(MemcacheConfig.getCompressThreshold()));
       
    }
    private MemCache(){
       
    }
    private static MemCache instance;
    public synchronized  static MemCache getInstance() {
        if(instance == null) {
            return new MemCache();
        }
        return instance;
    }
   
   
//    在memcache中对数据进行存、取、删、更新
    public boolean set(String key, Object value) {
        return mcc.set(key, value);
    }

    public boolean set(String key, Object value, String time) {
        return mcc.set(key, value, new Date(Long.parseLong(time)));
    }

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

    public boolean delete(String key) {
        return mcc.delete(key);
    }
   
    public boolean update(String key, Object obj) {
        return mcc.replace(key, obj);
    }
   
    public boolean update(String key, Object value, Date expiry) {
        return mcc.replace(key, value, expiry);
    }
   
    public void flush_all() {
        mcc.flushAll();
    }


    public MemCachedClient getMcc() {
        return mcc;
    }


    public void setMcc(MemCachedClient mcc) {
        this.mcc = mcc;
    }

}
分享到:
评论

相关推荐

    memcacheclient-2.0

    《深入解析memcacheclient-2.0:跨平台C++客户端的Bug修复与优化》 在当今的软件开发中,缓存系统起着至关重要的作用,它们能够显著提高应用程序的性能,减少数据库负载。其中,Memcached是一款广泛使用的分布式...

    memcached client for java

    谷歌对于memcached提供给Java的客户端有spymemcached、xmemcached、memcache-client-forjava等多种形式,但memcache-client-forjava是使用最多、最稳定的。里边的文件和文档(有中文文档)都是从官网下载的,里边的...

    MemCache Client端类库

    在这个主题中,我们将深入探讨"MemCache Client端类库",特别是针对C++环境下的使用和修改。 在C++编程中,为了使用MemCache服务,我们需要一个能够与之通信的客户端库。通常,这样的库会包含一系列的类和函数,...

    C++ MemCacheClient

    MemCacheClient是一个C++实现的Memcached客户端库,它为C++开发者提供了便捷地与Memcached服务器进行交互的接口。Memcached是一种分布式内存缓存系统,常用于减轻数据库的负载,提高应用程序的性能,尤其在高并发...

    Java开发中的Memcache原理及实现

    Java开发中的Memcached原理及实现主要涉及分布式缓存系统、内存管理和网络通信等多个技术领域。Memcached是一款高性能、分布式内存对象缓存系统,用于减轻数据库负载,提高网站或应用程序的响应速度。在Java环境中,...

    java memcache使用例子

    本篇文章将围绕"Java Memcache使用例子"这一主题,详细介绍如何在Java中使用Memcached。 首先,确保您已经在本地正确安装了Memcached。通常,Memcached可以在Linux、macOS和Windows等操作系统上运行。你可以通过...

    memcache实现java客户端

    在Java开发中,我们通常使用Java客户端来与Memcache服务器进行交互。以下是一些关于如何在Java中实现Memcache客户端的重要知识点: 1. **Java Memcache客户端库**:在Java中,常用的Memcache客户端库有Xmemcached和...

    Java Memcache JDK1.4

    Java Memcache 是一个高效、广泛使用的分布式内存缓存系统,专为加速动态Web应用程序而设计。在JDK 1.4环境下使用Java Memcache,意味着我们需要一个兼容此版本JVM的客户端库,以便与Memcache服务器进行通信。在这个...

    memCache源码java客户端

    Java社区提供了多种memCache客户端,如spymemcached、xmemcached、memcached-client等。其中,spymemcached是较常用的一款,它由Danga Interactive开发并开源,具有简单易用、性能稳定的特点。 ### 二、...

    Memcache-client for php

    $memcache = new MemcacheClient(); $memcache-&gt;connect('localhost', 11211); $value = $memcache-&gt;get('key'); $memcache-&gt;set('key', 'value', 60); // 存储'key',值为'value',过期时间为60秒 $memcache-&gt;close...

    java memcache 使用

    Java Memcached 使用详解 Memcached 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提升数据访问速度。在Java中,我们可以使用各种客户端库来与Memcached进行交互,例如...

    MemCache Client User Guide

    【MemCache客户端用户指南】 MemCache客户端用户指南主要面向开发者,提供关于如何配置和使用MemCache客户端的详细信息。MemCache是一种高效的分布式内存缓存系统,用于存储和检索数据,以减轻数据库的压力并提高...

    java版memcache缓存管理与开发

    ### Java版Memcache缓存管理与开发 #### Memcache简介及其在高流量网站中的作用 在高流量网站中,为了缓解数据库的压力并提高网站响应速度,通常会采用Memcache作为缓存解决方案。Memcache是一种高性能、分布式...

    memcache学习文档 for java demo

    Memcache 学习文档 for Java Demo Memcache 是一套分布式的高速缓存系统,由 LiveJournal 的 Brad Fitzpatrick 开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站...

    memcached java client

    本篇文章将详细介绍两个常用的Java Memcached客户端:xmemcached和memcache-client-forjava。 **1. xmemcached** xmemcached是由Ketoo开发的一个高性能、高可用性的Java Memcached客户端。它提供了丰富的API,支持...

    java遍历Memcache所有key的工具类

    JAVA遍历Memcache缓存中所有的KEY的方法,可以直接引入使用。

    java调用memcache简单实例

    介绍:memcache缓存的一个项目。只是简单的增删盖查。 使用前,应该先安装memcache。如果是window上就不需要安装...这里又加入了很多spring的jar包,是应为TestSpringMemcache.java中把memcache整合到spring中。

    memcached for java client 例子

    描述中提到"关于memcache 使用的 客户端是memcached client for java 的 JAVA工程",这意味着这个压缩包可能包含了一个Java项目,该项目专门设计用来连接并操作memcached服务器。Java客户端库允许开发人员在Java应用...

    JAVA的memcache服务器安装以及相关最新jar包

    "JAVA的memcache服务器安装以及相关最新jar包" 这个标题指出我们要探讨的是在Java环境中如何安装并使用Memcached服务器,同时提到了与Java接口相关的最新jar包。Memcached是一个高性能、分布式内存对象缓存系统,常...

Global site tag (gtag.js) - Google Analytics