`

Memcached的简单实例

 
阅读更多
Memcached在很多时候多是作为数据库前端cache使用的.
最近一直在进行着项目的编码工作,在进行模块的功能实现过程中用到了数据库的缓存工具memcached(当然该工具并不仅仅局限于数据库的缓存).
首先简单的介绍下什么是Memcached.
Memcached是高性能的,分布式的内存对象缓存系统.用于在动态应用中减少数据库负载,提升访问速度.Memcached由Danga Interactive开发,
用于提升LiveJournal.com访问速度的.LJ每秒动态页面访问量几千次.用户700万.Memcached将数据负载大幅度降低,更好的分配资源,更快速访问.

下面从一个实际的例子来应用Memcached,
首先到http://danga.com/memcached/下载memcached的windows版本和java客户端jar包.分别解压后即可!首先是安装运行memcached服务器,将memcached解压后.进行其目录
然后运行如下命令:
c>memcached.exe -d install
c>memcached.exe -l 127.0.0.1 -m 32 -d start
第一行是安装memcached成为服务,这样才能正常运行,否则运行失败!第一行是启动memcached的,作为测试我们就简单的只分配32M内存了,然后监听本机端口和以守护进行.
执行完毕后,我们就可以在任务管理器中见到的memcached.exe这个进程.好了,我们的服务器已经正常运行了,
首先把memcached的jar文件复制到java项目的lib目录下
java代码:
package utils.cache;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemCached
{
//创建全局的唯一实例
private static MemCachedClient mcc = new MemCachedClient();

private static MemCached memCached = new MemCached(); 

//设置与缓存服务器的链接池
String[] servers = {"127.0.0.1:11211"};
lnteger[] weights = {3};

//获得socke连接池的实例对象
SockIOPool pool = SockIOPool.getInstance();

//设置服务器信息
pool.setServers(servers);
pool.setWeights(weights);

//设置初始化连接数,最小何最大连接数以及最大处理时间
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60);
//设置主线程的睡眠时间
pool.setMaintSleep(30);

//设置TCP的参数,连接超时等
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);

//初始化连接池
pool.initialize();

//压缩设置,超过指定大小(单位为K)的数据都会被压缩
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64*1024);
}

//保护构造方法,不允许实例化
protected MemCached(){
} 

//获得唯一实例
public static MemCached getInstance(){
	return memCached;
} 
public static void set(String name, Object value, Date expire) {
		mcc.set(name, value, expire);
	}

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

	public static Object delete(String name) {
		return mcc.delete(name);
	}	
	
//添加一个方法来测试一把!!!
public static object set (String key, Object value){
        return mcc.add(key, value); 
       }
	public static void main(String[] args){
	MemCached cache = MemCached.getInstance();
	cache.add("Hello",234);
	system.out.print("value:" + cache.get("Hello"));
	
	}
}
1
3
分享到:
评论

相关推荐

    JAVA-memcached简单例子

    - 接着,在Java代码中创建一个Memcached客户端实例,连接到服务器: ```java MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211)); ``` 4. **基本操作** - 存储数据:...

    java使用Memcached简单教程

    ### Java使用Memcached简单教程 #### 一、简介 Memcached是一个高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态Web应用,提高网站的浏览速度。它通过在内存中缓存数据和对象来减少读取数据库的次数...

    memcached 的简单java实例

    以下是一个简单的Java实例,演示如何使用Spymemcached连接到Memcached服务器并执行基本操作: 1. **添加依赖** 首先,你需要在项目中添加Spymemcached的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下...

    memcached实例

    使用 Memcached 存储数据非常简单,以下是一个简单的 Python 示例: ```python import pylibmc # 创建客户端连接 client = pylibmc.Client(["127.0.0.1"], binary=True, behaviors={"tcp_nodelay": True}) # 设置...

    Memcached实例与文档

    本资料包包含“Memcached实例与文档”,是学习和理解Memcached工作原理及应用的重要资源。 一、Memcached的基本概念 Memcached基于键值对(key-value)存储,提供简单的文本协议,易于与其他编程语言集成。它的设计...

    Memcached 简单示例

    例如,使用Enyim.Caching,你可以创建一个`MemcachedClient`实例并指定服务器: ```csharp var config = new MemcachedClientConfiguration(); config.Servers.Add(new MemcachedServer("localhost", 11211)); ...

    memcached java简单实例

    **标题:“memcached java简单实例”** 在Java开发中,我们常常会遇到缓存的需求,以提高应用程序的性能。Memcached是一款高效的分布式内存对象缓存系统,它能够将数据存储在内存中,从而减少对数据库的访问。这篇...

    java使用memcached的实例

    接下来,我们来看一个简单的Java Action类,名为`MemcachedAction.java`,展示了如何在项目中使用Memcached服务: ```java package fi.ltrade.memcached; import java.io.Serializable; import java.util....

    分布式缓存Memcached实例

    分布式缓存Memcached实例详解 Memcached是一款由Danga Interactive公司设计并开发的高效、分布式内存对象缓存系统。它的主要目标是减轻数据库的负担,提高动态应用程序的响应速度,通过将数据存储在内存中,使得...

    MemCached 简单配置和使用.doc

    以下是对Memcached简单配置和使用的详细说明: **第一步:引入iBOS jar包** 在使用Memcached之前,首先需要确保你的应用程序中包含了必要的库文件。将iBOS相关的jar包放入应用的lib目录下,这样你的应用程序就能...

    java 写的memCached小例子.

    本篇文章将详细介绍如何在Java中使用Memcached,并通过一个简单的小例子来展示其基本用法。 首先,我们需要在项目中引入Memcached的Java客户端库。这里以spymemcached为例,它是一个广泛使用的Java客户端,可以通过...

    Memcached实例源码,基于.net的dll以及源码

    这个压缩包包含了基于.NET的Memcached实例源码和DLL,以及相关的PPT介绍,是学习和理解Memcached在.NET环境下的应用的宝贵资源。 首先,我们来详细了解一下Memcached的基本概念。Memcached是一个简单的键值存储系统...

    memcached程序,安装说明,以及简单代码实例

    memcached程序,安装说明,以及简单代码实例

    memcached与JAVA实例文档

    - **键值对存储**:Memcached存储的数据结构简单,以键值对形式存在,便于快速查找和读写。 - **内存存储**:所有的数据都存储在内存中,保证了高速访问,但同时也限制了数据的持久化能力。 - **CAS(Check and Set...

    memcached完整jar包及实例

    在这个例子中,我们首先创建了一个`MemcachedClient`实例,指定了服务器地址("localhost")和端口号(11211,这是默认的Memcached端口)。然后,我们使用`set`方法存储键为"myKey",值为"myValue"的数据,有效期为...

    python-memcached python-memcached

    5. **前缀支持**:通过设置键的前缀,可以在同一个Memcached实例中隔离不同应用的数据,避免键的冲突。 6. **批量操作**:可以一次处理多个键值对,提高性能。例如,你可以一次性获取多个键对应的值,或者同时删除...

    memcached for java client 例子

    "memcached for java client 例子" 指的是一个使用Java语言编写的客户端库,用于与memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的响应速度。 **...

    memcached缓存使用演示

    - **缓存策略选择**:根据业务需求选择合适的缓存系统,如简单缓存场景可选用Memcached,复杂数据结构或需持久化的场景则考虑Redis。 - **缓存失效策略**:除了LRU外,还可以采用Time-To-Live(TTL)、手动清除等方式...

    memcached工具类源码

    - **Key-Value存储**:Memcached支持简单的键值对存储,键是唯一的,用于标识数据,值是存储的数据。 2. **Java中的Memcached客户端库** 在Java中,我们可以使用各种客户端库与Memcached通信,如Spymemcached、...

    memcached全面剖析.pdf

    4. 分布式:memcached通过一致性哈希(Consistent Hashing)实现分布式,多个memcached实例之间不会直接通信,可实现高可用性和水平扩展性。 安装和配置memcached相对简单,可以通过源码编译安装,也可以使用包管理...

Global site tag (gtag.js) - Google Analytics