`
sunney2010
  • 浏览: 59350 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

memcache 应用例子

阅读更多
前面已发布了linux memcache的安装,这写了一个小例子,这在不再详细介绍。
安装说明:http://sunney2010.iteye.com/blog/656905
   Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。
  Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

  package com.ctoall.core;

import java.util.Date;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;


public class MemCached {
	 // 创建全局的唯一实例
    protected static MemCachedClient mcc = new MemCachedClient();
    
    protected static MemCached memCached = new MemCached();
    // 设置与缓存服务器的连接池
    static {
        // 服务器列表和其权重
        String[] servers = {"192.168.186.128:11211"};
        Integer[] 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 * 6 );

        // 设置主线程的睡眠时间
        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()
    {
        
    }
    
    /**
     * 获取唯一实例.
     * @return
     */
    public static MemCached getInstance()
    {
        return memCached;
    }
    
    /**
     * 添加一个指定的值到缓存中.
     * @param key
     * @param value
     * @return
     */
    public boolean add(String key, Object value)
    {
        return mcc.add(key, value);
    }
    
    public boolean add(String key, Object value, Date expiry)
    {
        return mcc.add(key, value, expiry);
    }
    
    public boolean replace(String key, Object value)
    {
        return mcc.replace(key, value);
    }
    
    public boolean replace(String key, Object value, Date expiry)
    {
        return mcc.replace(key, value, expiry);
    }
    
    /**
     * 根据指定的关键字获取对象.
     * @param key
     * @return
     */
    public Object get(String key)
    {
        return mcc.get(key);
    }
    
    public static void main(String[] args)
    {
        MemCached cache = MemCached.getInstance();
       StudentDO stuDO=new StudentDO();
       stuDO.setId(10);
       stuDO.setAge(28);
       stuDO.setName("sunney");
       stuDO.setAddress("广东省深圳市福田区梅华路105号多丽科技楼9楼"); 
       cache.add("stu", stuDO);
       StudentDO stuDO1=(StudentDO)cache.get("stu");
       System.out.println("id:"+stuDO1.getId());
       System.out.println("name:"+stuDO1.getName());
       System.out.println("age:"+stuDO1.getAge());
       System.out.println("adress:"+stuDO1.getAddress());
       System.out.println("+++++++++++++++++++++++ok++++++++++++++++++++++++");
            
    }
}

package com.ctoall.core;

import java.io.Serializable;

public class StudentDO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3312721104787630488L;
    private int Id;
    private String Name;
    private int age;
    private String address;
	public int getId() {
		return Id;
	}
	public void setId(int id) {
		Id = id;
	}
	public String getName() {
		return Name;
	}
	public void setName(String name) {
		Name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
    
}
分享到:
评论

相关推荐

    java memcache使用例子

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

    Memcache缓存技术,Memcache配置说明及其文件,PHP5.2.6版本内存缓存技术配置

    Memcache是一种广泛应用于Web开发中的分布式内存对象缓存系统,它可以临时存储数据,减少数据库的负载,提高应用程序的性能。在本主题中,我们将详细探讨Memcache缓存技术,特别是针对PHP5.2.6版本的配置以及在...

    Memcache win版 服务器和.net驱动

    标签"memcache"强调了这个话题的核心——Memcache技术及其在Windows和.NET环境下的应用。无论是在大型网站还是小型应用中,正确地配置和使用Memcache都可以显著提升系统的响应速度和整体性能。 总的来说,Memcache...

    memcache_php使用测试

    #### 三、memcache PHP常量及其作用 **MEMCACHE_COMPRESSED** 是一个整型常量,用于在使用`Memcache::set()`, `Memcache::add()`和相关方法时开启压缩功能,这有助于在网络传输过程中减小数据包的大小,从而提高...

    缓存框架-Memcache的例子

    Memcache是一种广泛使用的分布式内存缓存系统,常用于减轻数据库负载,提高Web应用的性能。在本文中,我们将深入探讨Memcache的工作原理、优势以及如何在实际项目中使用它。 一、Memcache简介 Memcache是由Danga ...

    php 5.4.15 64位 memcache.dll

    同时,“附带两个测试的例子”表明提供了验证安装和功能的示例文件,一个是连接测试,用于检查 PHP 脚本是否能成功连接到 memcache 服务器;另一个是功能测试,用于检验 memcache 扩展的各种操作,如添加、获取、...

    MemCache开发说明文档

    这部分会详细介绍MemCache的基本概念、工作原理及其在高流量网站中解决性能问题的关键作用。 **第 4 章 技术预研目标** 4.1 设定预研的具体目标,例如熟悉MemCache的架构、安装过程、客户端开发以及优化策略等。 *...

    window-php7.1-memcache-dll

    总的来说,这个压缩包提供了一种在64位Windows系统上运行PHP 7.1及其以上版本时,启用Memcache缓存功能的方法。开发者可以通过正确安装和配置这个扩展,充分利用Memcache的性能优势,提升Web应用的响应速度和处理...

    memcache服务加扩展php5.6的dll

    Memcache是一种广泛使用的分布式内存对象缓存系统,它可以提高Web应用的性能,通过存储数据在内存中来减少数据库的负载。在PHP中,我们通常使用PHP扩展来与Memcache服务进行交互。 描述中提到的是作者已经经历了一...

    memcache的配置及使用——memcache及其客户端telnet

    **Memcached** 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。它通过将数据和对象存储在内存中,以键值对的形式提供高速访问,特别适合处理高并发的场景。 ...

    java版memcache缓存管理与开发

    #### 分布式Memcache应用 对于大型网站而言,单一Memcache服务器的内存容量有限,因此采用分布式部署成为必然选择。可以通过对键(Key)进行有规律的设计,实现数据的有效分布。例如,在以用户为中心的网站中,可以...

    PHP7.1.xx-7.3xx各版本适配memcache.dll

    压缩包文件名称 "PHP7-memcache-dll-master" 暗示这是一个包含 `memcache.dll` 及其相关配置文件的资源库,可能是GitHub上的一个项目,旨在提供给PHP 7.x用户使用。通常,这样的资源会包括DLL文件、PHP配置文件(如 ...

    memcache监视工具

    2. **键值列表**:列出当前存储在Memcache中的所有键及其对应的值,这对于调试和排查问题非常有帮助。 3. **内存使用情况**:展示Memcache当前占用的内存总量以及每个键所占用的内存大小。 4. **操作功能**:可能...

    memcache缓存分布式集群

    在大型应用中,单台Memcache服务器可能无法满足高并发和大容量的需求,这时就需要搭建Memcache的分布式集群。 在标题提到的“memcache缓存分布式集群”中,主要涉及以下知识点: 1. **分布式存储原理**:分布式...

    MemCache和Redis缓存介绍

    **MemCache和Redis缓存...总之,理解和掌握MemCache和Redis的特性及其使用场景,对于优化应用程序性能、提高用户体验具有重要意义。在开发过程中,根据业务需求合理选择和配置缓存系统,可以极大地提升系统的整体效率。

    memcache-2.2.7.tgz

    标题中的"memcache-2.2.7.tgz"指的是Memcache的一个特定版本,这是一个流行的开源内存对象缓存系统,常用于加速动态Web应用程序。它通过存储数据在内存中,避免了频繁读取数据库,从而提高了网站的响应速度。这个...

    Memcache各种下载

    标题“Memcache各种下载”暗示我们将讨论关于Memcache的不同版本及其下载途径。在Web开发中,开发者可能需要不同版本的Memcache来适应不同的环境或者解决特定问题。例如,某些旧项目可能依赖于特定版本的Memcache,...

Global site tag (gtag.js) - Google Analytics