使用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是一款高性能的分布式内存对象缓存系统,主要用于减轻数据库的负载,通过将数据存储在内存中来快速响应读取请求。本文主要针对Windows环境下的Memcache安装与配置进行详述。 **一、...
本篇文章将围绕"Java Memcache使用例子"这一主题,详细介绍如何在Java中使用Memcached。 首先,确保您已经在本地正确安装了Memcached。通常,Memcached可以在Linux、macOS和Windows等操作系统上运行。你可以通过...
**Memcache 使用与安装详解** Memcache 是一款高性能的分布式内存对象缓存系统,它能够存储数据并提供快速访问,广泛应用于减轻数据库负载,提升Web应用性能。在本文中,我们将详细探讨 Memcache 的基本概念、安装...
Memcache 使用手册 Memcache 是一种高性能的内存键值缓存,它可以为应用程序提供高速的数据访问。Memcache 服务可以通过应用程序的多个实例访问该缓存, Memcache 对于那些不需要数据库的永久性功能和事务功能的...
标题中的“php memcache使用”指的是在PHP编程中利用Memcache扩展进行缓存操作的知识点。Memcache是一个高性能的分布式内存对象缓存系统,用于在内存中存储数据,以提高Web应用程序的性能,减少数据库负载。它适用于...
标题“memcache使用方法”指出我们将探讨的是如何运用memcache这一内存对象缓存系统。Memcache是一种高性能的分布式内存缓存系统,常用于减轻数据库的负载,提升Web应用的性能。 描述中提到“讲述memcache在客户端...
压缩包中的`MemCache使用.txt`文档可能包含了安装、配置和测试的详细步骤,以及如何监控MemCache的性能。通常,我们可以通过以下方式进行测试: 1. **命令行测试**:使用telnet命令行工具连接到MemCache服务器,...
Memcache 服务为您的应用程序提供了高性能的内存键值缓存,您可通过应用程序的多个实例访问该缓存。Memcache 对于那些不需要数据库的永久性功能和事务功能的数据很有用,例如临时数据或从数据库复制到缓存以进行高速...
- 非阻塞网络I/O:Memcache使用非阻塞的网络I/O模型,能够同时处理大量连接请求,提高了系统的并发能力。 - 基于LRU(Least Recently Used)的缓存淘汰策略:当内存空间不足时,Memcache会根据数据最近使用的频率...
4. **内存管理**:Memcache使用LRU(Least Recently Used)策略进行内存管理,当内存满时,最近最少使用的数据会被自动淘汰。 5. **轻量级协议**:Memcache使用简单的文本协议与客户端通信,易于实现,同时减少了...
2. **获取 ASP Memcache 组件**:在 ASP 环境中使用 Memcache,需要一个与之交互的组件或库。可以找到第三方开发的 ASP 组件,如 AspMemcached 或者其他的适配器,这些组件提供了与 Memcached 通信的接口。 3. **...
2. **PHP-Memcache使用**: - 安装完扩展后,你可以在PHP代码中通过`memcache`类来使用Memcache服务。例如: ```php $memcache = new Memcache; $memcache->connect('localhost', 11211); // 默认的Memcache...
Memcache 是一款广泛使用的高性能分布式内存对象缓存系统,主要用于减少数据库负载,提高网站或应用的响应速度。它通过将数据存储在内存中,实现快速读取,尤其适用于处理大量数据的高并发场景。 Memcache 5.3.3 是...
- **简单易用**:Memcache使用TCP协议,API简洁,支持多种编程语言,如PHP、Python、Java、Ruby等。 - **动态扩展**:当内存不足时,Memcache会自动删除最近最少使用的数据(LRU策略)。 - **键值对存储**:数据...
**PHP中的memcache使用** 在PHP中,可以使用memcache类进行交互,如连接到memcached服务器、存储和检索数据等。以下是一些基本用法: ```php // 创建一个连接 $memcache = new Memcache; $memcache->connect('...
4. **LRU 算法**:当内存空间不足时,Memcache 会使用最近最少使用(Least Recently Used)算法来清除不再使用的数据,确保内存的有效利用。 **二、Memcache 的安装与配置** 1. **安装**:在不同的操作系统上,...