`

memcached demo 应用例子

阅读更多

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据 库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目); 当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。

  Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数 据库负载大幅度降低,更好的分配资源,更快速访问。 

 1  package  com.ctoall.core;
 2  
 3  import  java.io.Serializable;
 4  
 5  public   class  StudentDO  implements  Serializable {
 6  
 7       /**
 8       * 
 9        */
10       private   static   final   long  serialVersionUID  =   3312721104787630488L ;
11       private   int  Id;
12       private  String Name;
13       private   int  age;
14       private  String address;
15       public   int  getId() {
16           return  Id;
17      }
18       public   void  setId( int  id) {
19          Id  =  id;
20      }
21       public  String getName() {
22           return  Name;
23      }
24       public   void  setName(String name) {
25          Name  =  name;
26      }
27       public   int  getAge() {
28           return  age;
29      }
30       public   void  setAge( int  age) {
31           this .age  =  age;
32      }
33       public  String getAddress() {
34           return  address;
35      }
36       public   void  setAddress(String address) {
37           this .address  =  address;
38      }
39      
40  }

 

   1  package  com.ctoall.core;

  2  
  3  import  java.util.Date;
  4  
  5  import  com.danga.MemCached.MemCachedClient;
  6  import  com.danga.MemCached.SockIOPool;
  7  
  8  
  9  public   class  MemCached {
 10        //  创建全局的唯一实例
 11       protected   static  MemCachedClient mcc  =   new  MemCachedClient();
 12      
 13       protected   static  MemCached memCached  =   new  MemCached();
 14       //  设置与缓存服务器的连接池
 15       static  {
 16           //  服务器列表和其权重
 17          String[] servers  =  { " 192.168.186.128:11211 " };
 18          Integer[] weights  =  { 3 };
 19  
 20           //  获取socke连接池的实例对象
 21          SockIOPool pool  =  SockIOPool.getInstance();
 22  
 23           //  设置服务器信息
 24          pool.setServers( servers );
 25          pool.setWeights( weights );
 26  
 27           //  设置初始连接数、最小和最大连接数以及最大处理时间
 28          pool.setInitConn(  5  );
 29          pool.setMinConn(  5  );
 30          pool.setMaxConn(  250  );
 31          pool.setMaxIdle(  1000   *   60   *   60   *   6  );
 32  
 33           //  设置主线程的睡眠时间
 34          pool.setMaintSleep(  30  );
 35  
 36           //  设置TCP的参数,连接超时等
 37          pool.setNagle(  false  );
 38          pool.setSocketTO(  3000  );
 39          pool.setSocketConnectTO(  0  );
 40  
 41           //  初始化连接池
 42          pool.initialize();
 43  
 44           //  压缩设置,超过指定大小(单位为K)的数据都会被压缩
 45          mcc.setCompressEnable(  true  );
 46          mcc.setCompressThreshold(  64   *   1024  );
 47      }
 48       /**
 49       * 保护型构造方法,不允许实例化!
 50       *
 51        */
 52       protected  MemCached()
 53      {
 54          
 55      }
 56      
 57       /**
 58       * 获取唯一实例.
 59       *  @return
 60        */
 61       public   static  MemCached getInstance()
 62      {
 63           return  memCached;
 64      }
 65      
 66       /**
 67       * 添加一个指定的值到缓存中.
 68       *  @param  key
 69       *  @param  value
 70       *  @return
 71        */
 72       public   boolean  add(String key, Object value)
 73      {
 74           return  mcc.add(key, value);
 75      }
 76      
 77       public   boolean  add(String key, Object value, Date expiry)
 78      {
 79           return  mcc.add(key, value, expiry);
 80      }
 81      
 82       public   boolean  replace(String key, Object value)
 83      {
 84           return  mcc.replace(key, value);
 85      }
 86      
 87       public   boolean  replace(String key, Object value, Date expiry)
 88      {
 89           return  mcc.replace(key, value, expiry);
 90      }
 91      
 92       /**
 93       * 根据指定的关键字获取对象.
 94       *  @param  key
 95       *  @return
 96        */
 97       public  Object get(String key)
 98      {
 99           return  mcc.get(key);
100      }
101      
102       public   static   void  main(String[] args)
103      {
104          MemCached cache  =  MemCached.getInstance();
105         StudentDO stuDO = new  StudentDO();
106         stuDO.setId( 10 );
107         stuDO.setAge( 28 );
108         stuDO.setName( " sunney " );
109         stuDO.setAddress( " 广东省深圳市福田区梅华路105号多丽科技楼9楼 " ); 
110         cache.add( " stu " , stuDO);
111         StudentDO stuDO1 = (StudentDO)cache.get( " stu " );
112         System.out.println( " id: " + stuDO1.getId());
113         System.out.println( " name: " + stuDO1.getName());
114         System.out.println( " age: " + stuDO1.getAge());
115         System.out.println( " adress: " + stuDO1.getAddress());
116         System.out.println( " +++++++++++++++++++++++ok++++++++++++++++++++++++ " );
117              
118      }
119  }
分享到:
评论

相关推荐

    C# memcached客户端源码 测试例子

    学习并实践这些测试例子,可以帮助C#开发者熟练掌握使用Memcached进行缓存管理的技巧,提高应用的响应速度和整体性能。同时,对于分布式系统的设计和优化也有一定的指导意义。因此,这个压缩包对于正在或者计划使用...

    阿里软件java版memcached安装文件和demo项目

    9. **集成示例**:Demo项目通常包含一个完整的例子,演示如何在实际项目中引入和使用这个Java版的Memcached,这对于初学者来说是非常宝贵的参考资料。 通过这些知识点的学习和实践,开发者可以更好地在Java项目中...

    Spring memcached 源码

    Spring Memcached 是一个用于在Spring应用中集成Memcached缓存服务的框架。Memcached是一种分布式内存对象缓存系统,常用于提高网站数据读取的速度,因为它可以将数据存储在内存中,避免了频繁的数据库查询。现在...

    memcache-demo

    Spring是一个广泛应用的Java企业级开发框架,它可以与多种缓存解决方案集成,包括Memcached,以提升应用的性能。 **标签解析** 标签"memcache"表明主题主要围绕Memcached,这是一个广泛使用的分布式内存对象缓存...

    demo_memcache_ieda

    "demo_memcache_ieda"项目是一个很好的学习资源,通过对比spymemcached和XMemcached这两个客户端,开发者可以了解如何在Java项目中集成并使用Memcached,从而优化应用性能,实现高效的数据缓存。

    memcache 应用例子

    **Memcached 应用实例详解** Memcached 是一个高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问的速度。它通过将数据存储在内存中,使得数据访问几乎达到内存的速度,...

    java高并发项目的demo

    以下将详细阐述涉及的关键技术及其作用。 首先,Redis作为一个高性能的键值存储系统,在高并发场景下常被用作缓存来减少数据库的压力。在秒杀活动中,商品信息通常会被预加载到Redis中,当用户发起请求时,先从...

    windows 下安装memched及使用demo

    **Windows环境下安装Memcached及其使用演示** Memcached是一款高性能、分布式的内存对象缓存系统,常用于加速动态Web应用,通过在内存中存储数据来减少数据库的访问压力。本教程将详细讲解如何在Windows操作系统上...

    yii-demo:Yii 框架扩展的演示

    下面将详细探讨 Yii 框架的关键知识点及其在 "yii-demo" 中的应用。 1. **MVC(Model-View-Controller)架构**:Yii 遵循 MVC 设计模式,使得代码结构清晰,易于维护。在 "yii-demo" 中,你可以看到模型类(Model)...

    Redis-demo的文件

    **Redis简介** Redis是一款高性能的键值存储系统,由...通过`pom.xml`文件,我们可以看到该项目依赖于Spring Data Redis库,而`src`目录则包含了项目源代码,可能包含了如何在实际应用中使用`RedisTemplate`的例子。

    完美登陆例子

    综合以上信息,我们可以推测这个“完美登录例子”是一个综合性的项目,涉及到使用Redis和Memcached作为缓存、SQL查询验证用户信息、Windows Forms构建登录界面,以及使用单元测试确保登录逻辑的正确性。此外,还可能...

    C#分布式开发源码实例

    源码可能包含使用分布式缓存(如Redis或Memcached)或分布式锁的示例。 10. **微服务架构**:随着微服务理念的流行,源码可能涉及如何将大型应用拆分为独立、可部署的服务,每个服务都有自己的数据库和边界。 学习...

    jvm_session_demo:jvm 会话演示

    【标题】"jvm_session_demo:jvm 会话演示"主要关注的是Java虚拟机(JVM)在处理会话管理中的应用。会话是Web应用程序中一个关键的概念,它允许服务器跟踪用户的状态和行为,特别是在状态无状态的HTTP协议中。JVM在此...

    CentOS7.0 64位 Apache2.4 PHP5.4镜像使用手册

    - **10.4 关于REDIS、MEMCACHED:** 介绍这两种缓存技术的特点及应用场景。 - **10.5 关于防火墙(IPTABLES):** 说明如何配置防火墙以保护服务器安全。 - **10.6 更多:** 提供额外的技术支持和常见问题解答。 通过...

    OpenStack-mitaka部署(手把手一步一步教你搭建)

    memcached-repcache设置为开机自启动。 ##### 计算节点(4台) - **IP地址**:cinder1 (192.168.166.61/62, vip: 192.168.166.69) - **应用**:Cinder - **资源**:32个CPU核心、60GB内存、500GB硬盘空间 - **操作...

    PHP原生模板引擎 最简单的模板引擎

    在上述原生模板引擎中,如果要添加缓存,你可能需要手动实现这一机制,例如使用文件系统或内存缓存(如APC、Redis或Memcached)。 总的来说,PHP原生模板引擎适合简单的应用场景,或者当性能是关键因素且不需要额外...

Global site tag (gtag.js) - Google Analytics