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

memcache简单实例

阅读更多

Memcache的Java客户端接口参见:http://code.google.com/p/memcached/wiki/Clients。示例程序如下:

 

(1)建立Manager

package com.alisoft.sme.memcached;

import java.util.Date;

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

public class MemCachedManager {

 // 创建全局的唯一实例
 protected static MemCachedClient mcc = new MemCachedClient();

 protected static MemCachedManager memCachedManager = new MemCachedManager();

 // 设置与缓存服务器的连接池
 static {
  // 服务器列表和其权重
  String[] servers = { "127.0.0.1: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 MemCachedManager() {

 }

 
 public static MemCachedManager getInstance() {
  return memCachedManager;
 }

 
 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);
 }

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

 public static void main(String[] args) {
  MemCachedManager cache = MemCachedManager.getInstance();
  cache.add("hello", 234);
  System.out.print("get value : " + cache.get("hello"));
 }
}

 

(2)建立数据对象

package com.alisoft.sme.memcached;

import java.io.Serializable;

public class TBean implements Serializable {
 
 private static final long serialVersionUID = 1945562032261336919L;

 private String name;

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }
}

 

--------------------------------------------------------------------------------------------------

创建测试用例:

package com.alisoft.sme.memcached.test;

import junit.framework.TestCase;

import org.junit.Test;

import com.alisoft.sme.memcached.MemCachedManager;
import com.alisoft.sme.memcached.TBean;

public class TestMemcached extends TestCase {

 private static MemCachedManager cache;

 @Test
 public void testCache() {
  
  TBean tb = new TBean();
  tb.setName("E网打进");
  cache.add("bean", tb);
  
  TBean tb1 = (TBean) cache.get("bean");
  System.out.println("name=" + tb1.getName());
  tb1.setName("E网打进_修改的");
  
  tb1 = (TBean) cache.get("bean");
  System.out.println("name=" + tb1.getName());
 }

 @Override
 protected void setUp() throws Exception {
  super.setUp();
  cache = MemCachedManager.getInstance();
 }

 @Override
 protected void tearDown() throws Exception {
  super.tearDown();
  cache = null;
 }

}

 

分享到:
评论

相关推荐

    java调用memcache简单实例

    只是简单的增删盖查。 使用前,应该先安装memcache。如果是window上就不需要安装libevent, linux上需要安装libevent。具体安装请到资料中查找。 memcache客户端:xmemcached-2.0.0.jar 这里又加入了很多spring的...

    WEB-APP 高速缓存 Memcache 简单例子

    NULL 博文链接:https://globle.iteye.com/blog/1181984

    java memcache使用例子

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

    Memcache+spring+ibatis例子,包含单纯memcache例子

    包含最简单的memcache的使用,测试类MemCached.java; 在此基础上增加了memcahce和spring的整合,顺便使用了ibati,测试类SpringMemcacheTest.java 代码简洁,适合研究,参考

    缓存框架-Memcache的例子

    四、Memcache的应用实例 在"memcache_project"这个项目中,我们可以看到如何在实际开发中使用Memcache。通常,开发者会先安装和配置Memcache服务,然后在代码中引入相应的库,如PHP的`php-memcached`扩展。以下是一...

    memcache监控工具

    - **mcmon**:一个简单的命令行工具,提供实时查看Memcached服务器的状态,如命中率、内存使用、当前连接等。 - **memcached-top**:类似于`top`命令,提供实时的动态视图,显示每个Memcached实例的统计数据。 - ...

    memcache配置源代码

    文件中还包含了一个简单的自定义类`Stu`的定义,用于演示如何将自定义类的对象存储到Memcache中,并从中获取信息: ```php class Stu { private $name = "qq"; private $age = 20; public function getinfo() {...

    memcache实现java客户端

    例如,使用spymemcached,可以创建一个MemcachedClient实例: ```java MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses("127.0.0.1:11211")); ``` 6. **...

    memcache软件和+教程

    - **命令接口**:Memcache提供了简单的文本协议,可以通过telnet命令行工具直接与服务交互,进行存取操作。 - **基本操作**:主要包括`set`(存储数据)、`get`(获取数据)、`delete`(删除数据)和`increment/...

    memcache所需要的jar包

    - 配置Memcache的服务器地址和端口,然后在代码中创建并初始化客户端实例,即可开始使用Memcache服务。 6. **使用示例** - 假设我们使用spymemcached,首先引入依赖: ```xml <groupId>net.spy</groupId> ...

    Memcache完全剖析 最实用的Memcache文档

    4. Memcached不互相通信的分布式:Memcached采用分布式架构,但各个实例之间不直接通信,它们通过客户端程序进行数据存取。 安装Memcached时,需要下载其安装包,并执行安装和启动程序。客户端连接Memcached时,...

    php的Memcache方法介绍及应用实例

    下面是一个简单的使用示例,演示如何创建Memcache对象、连接到服务器、获取版本号: ```php $memcache = new Memcache; if (!$memcache->connect('localhost', 11211)) { die("Could not connect"); } $version =...

    memcache分布式缓存的使用

    在大型分布式系统中,单个Memcache实例可能无法满足需求,这时需要进行分布式部署。通过一致性哈希算法,可以将数据均匀地分配到多个Memcache节点上,当有新的节点加入或离开时,尽可能少地改变数据分布,保持系统的...

    Memcache For PHP 5.3.28 (Win32版本)

    在PHP中使用Memcache,你需要引入`memcache`库,然后创建一个连接到Memcache服务器的实例。下面是一个简单的示例: ```php $memcache = new Memcache; $memcache->connect('localhost', 11211) or die("无法连接到...

    memcache c#客户端

    配置完成后,可以创建并初始化Memcache客户端实例: ```csharp using (var client = new MemcachedClient(config)) { // 客户端操作代码 } ``` 四、存储数据 使用Memcache客户端,我们可以轻松地存储键值对。有两...

    memCache源码java客户端

    其中,spymemcached是较常用的一款,它由Danga Interactive开发并开源,具有简单易用、性能稳定的特点。 ### 二、spymemcached简介 spymemcached是Java版的memcached客户端,它通过Socket通信协议与memcached...

    PHP实现的memcache环形队列类实例

    标题中的“PHP实现的memcache环形队列类实例”是指使用PHP编程语言设计的一个类,该类专门用于实现基于memcache的环形队列功能。环形队列是一种特殊的线性数据结构,其特点是队列的首尾相连形成一个闭合的环,当队列...

    session共享之memcache Redis

    memcache更适合简单的key-value存储,而Redis提供了更丰富的数据结构和更强大的功能,但可能消耗更多的内存。 总结,session共享是多服务器环境中的关键问题,memcache和Redis都是有效的解决方案。通过将Session...

    php的memcache类分享(memcache队列)

    通过上述知识点,我们可以看出,该memcacheQueue类提供了一个在PHP中操作Memcache队列的简单而强大的工具。开发者可以利用这个类的实例来构建高效的数据处理流程,如消息队列、缓存策略等。在使用这个类的时候,...

Global site tag (gtag.js) - Google Analytics