`
jolestar
  • 浏览: 197471 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

配置了一下memcached

阅读更多
1.memcached是什么?
       memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
2.下载地址
      http://www.danga.com/memcached/
3.安装
     跟一般的linux软件安装一样 ./configure 然后 make,make install
     需要一个库 libevent
    下载地址:
     http://www.monkey.org/~provos/libevent/
     安装库后创建个链接
     ln -s /usr/local/lib/libevent-1.3b.so.1 /lib/libevent-1.3b.so.1
4.启动
     memcached -u nobody -d -m 50 -l 192.168.0.8 -p 10001
    -u 指定用户
    -m 指定缓存使用内存大小,只是测试,就用了50m
    -l 指定ip地址
    -p 指定端口
5.测试
   memcached是一个数据源,所以与应用是独立的,理论上支持任何语言访问。现在已有的client库可在下面的地址得到:
   http://www.danga.com/memcached/apis.bml
   我们用java测试,jdk为1.6
  
java 代码
 
  1. import com.danga.MemCached.MemCachedClient;  
  2. import com.danga.MemCached.SockIOPool;  
  3.   
  4. public class MemcacheTest {  
  5.   
  6. //   create a static client as most installs only need  
  7.     // a single instance  
  8.     protected static MemCachedClient mcc = new MemCachedClient();  
  9.   
  10.     // set up connection pool once at class load  
  11.     static {  
  12.   
  13.         // server list and weights  
  14.         String[] servers ={"192.168.0.8:10001"};  
  15.   
  16.         Integer[] weights = { 3 };  
  17.   
  18.         // grab an instance of our connection pool  
  19.         SockIOPool pool = SockIOPool.getInstance();  
  20.   
  21.         // set the servers and the weights  
  22.         pool.setServers( servers );  
  23.         pool.setWeights( weights );  
  24.   
  25.         // set some basic pool settings  
  26.         // 5 initial, 5 min, and 250 max conns  
  27.         // and set the max idle time for a conn  
  28.         // to 6 hours  
  29.         pool.setInitConn( 5 );  
  30.         pool.setMinConn( 5 );  
  31.         pool.setMaxConn( 250 );  
  32.         pool.setMaxIdle( 1000 * 60 * 60 * 6 );  
  33.   
  34.         // set the sleep for the maint thread  
  35.         // it will wake up every x seconds and  
  36.         // maintain the pool size  
  37.         pool.setMaintSleep( 30 );  
  38.   
  39.         // set some TCP settings  
  40.         // disable nagle  
  41.         // set the read timeout to 3 secs  
  42.         // and don't set a connect timeout  
  43.         pool.setNagle( false );  
  44.         pool.setSocketTO( 3000 );  
  45.         pool.setSocketConnectTO( 0 );  
  46.   
  47.         // initialize the connection pool  
  48.         pool.initialize();  
  49.   
  50.   
  51.         // lets set some compression on for the client  
  52.         // compress anything larger than 64k  
  53.         mcc.setCompressEnable( true );  
  54.         mcc.setCompressThreshold( 64 * 1024 );  
  55.     }  
  56.       
  57.     public static void bulidCache(){  
  58.         mcc.set( "foo""This is a test String" );  
  59.         TestObj obj = new TestObj();  
  60.         obj.setId(new Long(1));  
  61.         obj.setName("test");  
  62.         mcc.set("testObj", obj);  
  63.     }  
  64.   
  65.     // from here on down, you can call any of the client calls  
  66.     public static void output() {  
  67.         //  
  68.         String bar = (String) mcc.get( "foo" );  
  69.         System.out.println(bar);  
  70.         TestObj obj = (TestObj)mcc.get("testObj");  
  71.         System.out.println(obj);  
  72.     }  
  73.       
  74.     public static void main(String[] args){  
  75.         bulidCache();  
  76.         output();  
  77.     }  
  78.   
  79.   
  80. }  
java 代码
 
  1. import java.io.Serializable;  
  2.   
  3. public class TestObj implements Serializable {  
  4.   
  5.     /** 
  6.      *  
  7.      */  
  8.     private static final long serialVersionUID = 1L;  
  9.     private String name;  
  10.     private Long id;  
  11.     /** 
  12.      *  
  13.      */  
  14.     public TestObj() {  
  15.     }  
  16.     public Long getId() {  
  17.         return id;  
  18.     }  
  19.     public void setId(Long id) {  
  20.         this.id = id;  
  21.     }  
  22.     public String getName() {  
  23.         return name;  
  24.     }  
  25.     public void setName(String name) {  
  26.         this.name = name;  
  27.     }  
  28.   
  29.     public String toString(){  
  30.         return "id:"+this.getId()+";name:"+this.getName();  
  31.     }  
  32. }  


从faq上找了段代码,稍做改动。

运行,成功输出:

This is a test String
com.danga.MemCached.MemCachedClient Sat Jul 14 18:59:46 CST 2007 - ++++ deserializing class net.teamhot.memecache.TestObj
id:1;name:test

中间两行是日志。
把buildCache方法注释了,再运行,成功。

如果是两种语言共享cache,要注意对象的持久化方式。

6.可能遇到的问题
   如果连接不成功请用telent测试服务器端口是否能连接通。连不通请更改服务器的防火墙设置,或者干脆把防火墙关闭了。

   /etc/init.d/iptables stop

    今天就到此为止。改天找几台服务器测试一下memcache的性能。

分享到:
评论

相关推荐

    CentOS 安装配置memcached

    CentOS 安装配置 Memcached 在本文中,我们将详细介绍如何在 CentOS 系统上安装和配置 Memcached。Memcached 是一个高性能的分布式内存对象缓存系统,广泛应用于各种 web 应用程序中,以提高应用程序的性能和响应...

    安装Memcached及Memcached配置

    在本文中,我们将详细介绍如何安装和配置Memcached,以及如何查询其运行状态。 1. **安装Memcached** - 首先,你需要从官方源或指定网址下载适合你操作系统的Memcached版本。例如,Windows用户可以访问...

    nginx配置文件,已配置完全+memcached

    在这个配置文件中,我们重点关注的是已经包含了对`memcached`支持的完整Nginx配置。`memcached`是一个分布式内存对象缓存系统,用于加速动态Web应用,通过在内存中缓存数据和对象来减少数据库的访问。 1. **Nginx...

    MemCached 缓存系统配置说明

    这里需要解释说明一下,很多开发者觉得Memcached是一种分布式缓存系统,但是其实Memcached服务端本身是单实例的,只是在客户端实现过程中可以根据存储的主键做分区存储,而这个区就是Memcached服务端的一个或者多个...

    memcached在SSH中的配置

    **标题与描述解析** ...综上所述,配置memcached在SSH中涉及多个层面,包括服务端安装、客户端集成、Spring配置、Struts2和Hibernate的缓存策略。确保正确配置后,可以显著提升应用的性能和响应速度。

    linux环境下memcached安装以及配置使用

    ### Linux环境下Memcached安装及配置...通过以上步骤,可以在Linux环境下成功安装和配置Memcached,并将其与Tomcat集成以实现跨服务器的Session共享。这不仅提高了系统的响应速度,也增强了系统的稳定性和可扩展性。

    windows 上的安装Memcached及Memcached配置

    #### 二、在DiscuzNT 3.0中配置Memcached服务 配置DiscuzNT 3.0以利用Memcached服务,需要编辑位于论坛根目录下的`config`目录中的`Memcached.config`文件,具体步骤如下: 1. 打开`Memcached.config`文件。 2. ...

    spring中配置memcached

    memcached缓存在spring中的配置

    apache+tomcat+memcached 全配置

    ### Apache + Tomcat + Memcached 全配置详解 #### 一、环境搭建概述 本文将详细介绍如何在 Ubuntu 操作系统下使用源代码安装并配置 Apache、Tomcat 和 Memcached,实现集群中的 Session 共享与负载均衡。由于采用...

    MemCached安装与配置图解(windows).pdf

    本文档将详细介绍如何在Windows 7 64位操作系统上安装与配置MemCached。 #### 二、安装步骤 1. **下载MemCached** 首先,从官方或可信源下载适用于Windows 64位系统的MemCached安装包,并将其解压缩到指定路径,...

    memcached配置

    在Windows环境下配置Memcached,首先需要下载并解压缩Memcached的安装包,将其放置在例如C:\memcached的目录下。然后,在命令行界面(cmd)中,使用命令`c:\memcached\memcached.exe -d install`进行安装。接着,...

    tomcat7+nginx+memcached 配置tomcat 集群以及负载均衡

    安装MSM时,需要将jar包添加到Tomcat的lib目录下,并在server.xml配置文件中进行相应设置,启用MSM并指定Memcached服务器的地址和端口。 Kryo序列化是MSM的一个可选选项,它是一种高效的Java对象序列化库。相比默认...

    Memcached安装和配置

    本文将详细介绍如何在Windows环境下安装和配置Memcached,并探讨其基本操作和状态查询。 首先,安装Memcached的步骤如下: 1. 访问 http://code.jellycan.com/memcached/ 下载适用于Windows的最新版本(例如1.2.6...

    memcached 64位 window

    2. **配置**:创建或修改`memcached.conf`配置文件,设置监听端口、最大内存、超时时间等参数。 3. **启动**:通过命令行工具启动Memcached服务。 4. **客户端库**:选择合适的编程语言(如PHP、Python、Java等)的...

    安装Memcached及Memcached配置.doc

    Memcached 安装和配置 Memcached 是一个自由的开源高速缓存系统,用于加速动态 web 应用程序的性能。它通过减少数据库负载和增加应用程序的响应速度来提高网站的性能。以下是 Memcached 的安装和配置详解。 安装 ...

    Linxu下配置Memcached

    在Linux系统,特别是Ubuntu环境下配置Memcached是一项常见的任务,它主要用作内存对象缓存系统,可以提升Web应用的性能。下面将详细讲解如何在Ubuntu上安装和配置Memcached,以及如何使用Eclipse进行客户端测试。 ...

Global site tag (gtag.js) - Google Analytics