`

memcache的使用

阅读更多

使用memcache的两种实现jar包:

1、使用net.py.spymemcached:

  1)在pom.xml中添加对net.py.spymemcached的依赖;

<dependency>
        <groupId>net.spy</groupId>
        <artifactId>spymemcached</artifactId>
        <version>2.11.0</version>
</dependency>

  2)使用Demo:

package spymemcached;

import java.io.IOException;
import java.io.Serializable;
import java.net.InetSocketAddress;
import java.util.Date;

import net.spy.memcached.MemcachedClient;

public class MemcacheUse {
        private static class MyData implements Serializable {
               private static final long serialVersionUID = 1L;
               private long d = new Date().getTime();

               public String toString() {
                      return "my data [" + d + "]" ;
              }
       }

        public static void main(String[] args) throws IOException {
              MyData myData = new MyData();
               MemcachedClient c = new MemcachedClient (new InetSocketAddress(
                            "127.0.0.1", 11211));
               // Store a value (async) for one hour
              c.set( "someKey", 3600, myData);
               // Retrieve a value (synchronously).
              MyData myObject = (MyData) c.get( "someKey");
              c.shutdown();
              System. out.println(myObject.toString());
       }
}

 3)使用Demo,根据需求进行封装的类:

package com.practice.cache;

import java.io.IOException;
import java.net.InetSocketAddress;

import org.springframework.stereotype.Component;

import net.spy.memcached.MemcachedClient;
import net.spy.memcached.internal.OperationFuture;

@Component
public class PhonePtCache {
	private MemcachedClient client;

	private String hostName = "127.0.0.1";
	private int port = 11211;
	private int time = 3600;

	public PhonePtCache() {
		try {
			client = new MemcachedClient(new InetSocketAddress(hostName,port));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public OperationFuture<Boolean> set(String key, Object o) {
		return client.set(key, time, o);
	}

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

	public OperationFuture<Boolean> delete(String key) {
		return client.delete(key);
	}
}

 

2、使用com.whalin.Memcached-Java-Client

  1)在pom.xml中添加依赖:

<dependency>
       <groupId>com.whalin</groupId>
       <artifactId>Memcached-Java-Client</artifactId>
       <version>3.0.2</version>
</dependency>

   2)使用Demo

package spymemcached;

import com.whalin.MemCached.MemCachedClient;
import com.whalin.MemCached.SockIOPool;

public class MemCacheInvoke {
    protected static MemCachedClient mcc = new MemCachedClient();
    static{
       // 设置缓存服务器列表,当使用分布式缓存的时,可以指定多个缓存服务器。(这里应该设置为多个不同的服务器)
        String[] servers =
                {
                        "127.0.0.1:11211",
                };

        // 设置服务器权重
        Integer[] weights = {3, 2};
        // 创建一个Socked连接池实例
        SockIOPool pool = SockIOPool. getInstance();
      // 向连接池设置服务器和权重
        pool.setServers(servers);
        pool.setWeights(weights);
        // set some TCP settings
        // disable nagle
        // set the read timeout to 3 secs
        // and don't set a connect timeout
        pool.setNagle( false);
        pool.setSocketTO(3000);
        pool.setSocketConnectTO(0);
       // initialize the connection pool
        pool.initialize();
    }

    public static void main(String[] args) {
        mcc.set("foo" , "This is a test String" );
        String bar = mcc.get("foo" ).toString();
        System. out.println(">>> " + bar);
    }
}

 

 

分享到:
评论

相关推荐

    memcache使用

    【Memcache使用详解】 Memcache是一款高性能的分布式内存对象缓存系统,主要用于减轻数据库的负载,通过将数据存储在内存中来快速响应读取请求。本文主要针对Windows环境下的Memcache安装与配置进行详述。 **一、...

    java memcache使用例子

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

    memcache 使用安装说明

    **Memcache 使用与安装详解** Memcache 是一款高性能的分布式内存对象缓存系统,它能够存储数据并提供快速访问,广泛应用于减轻数据库负载,提升Web应用性能。在本文中,我们将详细探讨 Memcache 的基本概念、安装...

    memcache使用手册

    Memcache 使用手册 Memcache 是一种高性能的内存键值缓存,它可以为应用程序提供高速的数据访问。Memcache 服务可以通过应用程序的多个实例访问该缓存, Memcache 对于那些不需要数据库的永久性功能和事务功能的...

    php memcache使用

    标题中的“php memcache使用”指的是在PHP编程中利用Memcache扩展进行缓存操作的知识点。Memcache是一个高性能的分布式内存对象缓存系统,用于在内存中存储数据,以提高Web应用程序的性能,减少数据库负载。它适用于...

    memcache使用方法

    标题“memcache使用方法”指出我们将探讨的是如何运用memcache这一内存对象缓存系统。Memcache是一种高性能的分布式内存缓存系统,常用于减轻数据库的负载,提升Web应用的性能。 描述中提到“讲述memcache在客户端...

    MemCache服务器端和使用说明

    压缩包中的`MemCache使用.txt`文档可能包含了安装、配置和测试的详细步骤,以及如何监控MemCache的性能。通常,我们可以通过以下方式进行测试: 1. **命令行测试**:使用telnet命令行工具连接到MemCache服务器,...

    Memcache使用指南软件开发

    Memcache 服务为您的应用程序提供了高性能的内存键值缓存,您可通过应用程序的多个实例访问该缓存。Memcache 对于那些不需要数据库的永久性功能和事务功能的数据很有用,例如临时数据或从数据库复制到缓存以进行高速...

    Memcache原理及实现

    - 非阻塞网络I/O:Memcache使用非阻塞的网络I/O模型,能够同时处理大量连接请求,提高了系统的并发能力。 - 基于LRU(Least Recently Used)的缓存淘汰策略:当内存空间不足时,Memcache会根据数据最近使用的频率...

    Memcache需要的依赖包

    4. **内存管理**:Memcache使用LRU(Least Recently Used)策略进行内存管理,当内存满时,最近最少使用的数据会被自动淘汰。 5. **轻量级协议**:Memcache使用简单的文本协议与客户端通信,易于实现,同时减少了...

    asp memcache 解决缓存问题

    2. **获取 ASP Memcache 组件**:在 ASP 环境中使用 Memcache,需要一个与之交互的组件或库。可以找到第三方开发的 ASP 组件,如 AspMemcached 或者其他的适配器,这些组件提供了与 Memcached 通信的接口。 3. **...

    win下php-memcache5.4;5.2;5.3扩展和memcache服务端

    2. **PHP-Memcache使用**: - 安装完扩展后,你可以在PHP代码中通过`memcache`类来使用Memcache服务。例如: ```php $memcache = new Memcache; $memcache-&gt;connect('localhost', 11211); // 默认的Memcache...

    memcache 5.3.3

    Memcache 是一款广泛使用的高性能分布式内存对象缓存系统,主要用于减少数据库负载,提高网站或应用的响应速度。它通过将数据存储在内存中,实现快速读取,尤其适用于处理大量数据的高并发场景。 Memcache 5.3.3 是...

    服务器缓存服务memcache

    - **简单易用**:Memcache使用TCP协议,API简洁,支持多种编程语言,如PHP、Python、Java、Ruby等。 - **动态扩展**:当内存不足时,Memcache会自动删除最近最少使用的数据(LRU策略)。 - **键值对存储**:数据...

    memcache相关下载

    **PHP中的memcache使用** 在PHP中,可以使用memcache类进行交互,如连接到memcached服务器、存储和检索数据等。以下是一些基本用法: ```php // 创建一个连接 $memcache = new Memcache; $memcache-&gt;connect('...

    Memcache 全面剖析,Memcache 教程

    4. **LRU 算法**:当内存空间不足时,Memcache 会使用最近最少使用(Least Recently Used)算法来清除不再使用的数据,确保内存的有效利用。 **二、Memcache 的安装与配置** 1. **安装**:在不同的操作系统上,...

Global site tag (gtag.js) - Google Analytics