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

memcached简单应用

阅读更多
memcached简单应用


1.Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。
2.一种基于key-value方式进行数据缓存的方式,数据保存地内存中,只支持字符串保存。我们可通过序列化(JSON串)和反序列化(数据模型)来进行数据模型的转换。
3.Memcached本身是使用C开发的,客户端可以是php、C#、或者java。我是做java的,所以这里只介绍基于java的客户端。
4.Memcached本身具有对象的存取功能,但是会对对象的包名进行判断,包路径不一样(字段参数一样)是不能进行转换的。


例子:
public static void main(String[] args) {
        MemCachedClient client=new MemCachedClient();
        String [] addr ={"127.0.0.1:11211"};
        Integer [] weights = {3};
        SockIOPool pool = SockIOPool.getInstance();
        pool.setServers(addr);	//memcached服务器地址配置
        pool.setWeights(weights);//memcached服务器权重配置
        pool.setInitConn(5);	//初始化时对每个服务器建立的连接数目
        pool.setMinConn(5);	//每个服务器建立最小的连接数,当自查线程发现与某个服务器建立连接数目小于这个数目时会弥补剩下的连接
        pool.setMaxConn(200);	//每个服务器建立最大的连接数,当自查线程发现与某个服务器建立连接数目大于这个数目
    				//时就会逐个检查这些连接的空闲时间是否大于maxConn,如果大于会关闭这些连接,直到连接数等于maxConn
        pool.setMaxIdle(1000*30*30);//最大空闲时间
        pool.setMaintSleep(30); //自查线程周期进行工作,其每次休眠时间
        pool.setNagle(false);	//Socket的参数,如果是true在写数据时不缓冲,立即发送出去
        pool.setSocketTO(30);	//Socket阻塞读取数据的超时时间
        pool.setSocketConnectTO(0);	//Socket阻塞建立连接的等待时间
        pool.initialize();

//      String [] s  =pool.getServers();
        client.setCompressEnable(true);    //设定是否压缩放入cache中的数据,默认值是ture
        client.setCompressThreshold(1000*1024);//设定需要压缩的cache数据的阈值,默认值是30k

//      将数据放入缓存
        client.set("test2","test2");

//      将数据放入缓存,并设置失效时间
        Date date=new Date(2000000);
        client.set("test1","test1", date);

//      删除缓存数据
//      client.delete("test1");

//      获取缓存数据
        String str =(String)client.get("test1");
        System.out.println(str);
    }
}



1.SockIOPool,就是建立连接放到连接池中,方便后面使用,减少使用时要建立的时间获得连接池的单态方法。
2.这个方法有一个重载方法getInstance( String poolName ),每个poolName只构造一个SockIOPool实例。缺省构造的poolName是default。如果在客户端配置多个memcached服务,一定要显式声明poolName。
3.如何让MemCachedClient和SockIOPool勾搭在一起
pool = SockIOPool.getInstance("SP");
MemCachedClient client = new MemCachedClient("SP" );
//这样就通过名字进行了关联了


参考原文:http://blog.csdn.net/qqiabc521/article/details/6438429
参考原文:http://www.cnblogs.com/han1982/p/4125527.html
分享到:
评论

相关推荐

    Memcached网站应用实战

    - **启动参数**:Memcached可以通过简单的命令行参数进行启动,如`memcached -m 500 -l 64.128.191.15 -p 11211 -vv`。其中: - `-m 500`表示分配500MB的内存空间给缓存。 - `-l 64.128.191.15`表示监听的IP地址。...

    JAVA-memcached简单例子

    下面我们将深入探讨如何在Java项目中实现Memcached的简单应用。 1. **Memcached安装与配置** - 首先,你需要在服务器上安装Memcached。这通常通过包管理器(如Ubuntu的`apt-get`或CentOS的`yum`)完成,或者从官方...

    java使用Memcached简单教程

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

    Memcached 简单示例

    在`MemcachedDemo`压缩包中,可能包含了一个简单的C#应用示例,演示了如何使用上述步骤来与Memcached服务器交互。这个示例可能包括初始化客户端、添加、获取、更新和删除缓存项的代码。通过查看和学习这个示例,你...

    Memcached_程序与php中应用

    它简单而强大,通过在内存中存储数据来加速动态Web应用。在PHP中,我们可以使用PHP Memcached扩展来与Memcached服务器进行交互。 **PHP Memcached扩展** PHP Memcached扩展提供了与Memcached服务器通信的功能。它...

    Memcached的原理及应用

    Memcached 是一种高性能的分布式内存缓存系统,用于减轻数据库负载,加速动态Web应用程序的运行速度,提升可扩展性。它的主要目标是通过缓存数据库查询结果,减少对数据库的直接访问,从而提高响应时间和整体性能。 ...

    memcached 的简单java实例

    Memcached是一种高性能、分布式内存对象缓存系统,用于在Web应用程序中减少数据库负载,提高数据访问速度。它将数据和对象存储在内存中,以便快速检索,从而提高了应用程序的响应时间。Memcached是无模式的,这意味...

    memcached简单封装

    Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。通过在内存中存储常用数据,Memcached能够快速响应请求,实现数据的高速缓存,从而提升了整体...

    MemCached 简单配置和使用.doc

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

    Java环境下Memcached应用详解.docx

    【Java环境下Memcached应用详解】 Memcached是一款高性能的分布式内存对象缓存系统,常用于缓解数据库的压力,提高网站性能。在Java环境下,Memcached能够作为集群环境下的缓存解决方案,适用于处理大量数据并需要...

    Memcached分布式缓存系统的应用.pdf

    Memcached作为一种流行的分布式缓存系统,通过在内存中缓存数据和对象,显著提高了Web应用的响应速度和性能。分布式缓存通过将缓存数据分布在多个服务器节点上,能够实现负载均衡、容错、以及数据一致性,这些特性...

    memcached安装包以及MemCachedClient

    Memcached 使用简单,可移植性强,广泛应用于多种编程语言环境。 **1. 安装 Memcached** 首先,你需要下载 Memcached 的源码包或预编译二进制包。在Unix/Linux系统中,通常通过包管理器如`apt-get`(Ubuntu/Debian...

    memcached 64位 window

    由于其简单的设计和高效的性能,Memcached在许多高流量网站和应用中被广泛应用。 **64位系统的优势** 在64位Windows系统上运行Memcached,可以支持超过4GB的内存,这在处理大量数据时非常有用。64位版本可以更有效...

    Memcached缓存机制 用好Cache,优化应用

    **Memcached缓存机制——优化应用的关键** Memcached是一款高性能的分布式内存对象缓存系统,广泛应用于Web应用中,用于缓解数据库的负载,提高数据访问速度。它通过将数据存储在内存中,使得数据访问几乎达到内存...

    memcached在PHP下应用研究.pdf

    memcached 是一种高性能的分布式内存对象缓存系统,能够有效应对Web应用中数据库负载的相关问题。在 PHP 下应用memcached,可以通过减少对数据库的读取次数,提高网站的整体响应速度。下面是memcached 在 PHP 下应用...

    Memcached应用研究

    此外,Memcached 支持简单的键值对存储,易于集成到各种编程语言中,为开发者提供了便利。 5. **测试与评估** 对 Memcached 进行应用测试,可以验证其在实际环境中的性能表现。测试结果通常包括缓存命中率、响应...

    memcached全面剖析.pdf

    总结而言,memcached凭借其高性能、简单协议、易于扩展和部署的特性,成为Web应用中不可或缺的缓存解决方案。理解和掌握memcached的原理与应用对于开发高性能的Web应用至关重要。随着新特性的不断加入,memcached正...

    windows下memcached+memcached.dll 5.3.8

    6. **测试连接**: 安装完PHP Memcache扩展后,可以通过编写简单的PHP代码测试是否能成功连接到本地的Memcached服务。 在标签中,`php`表明这个过程与PHP编程语言相关,意味着在Web开发环境中使用Memcached来缓存PHP...

Global site tag (gtag.js) - Google Analytics