如今nosql日益盛行,对于互联网行业开发的各位同仁弟兄想来对于memcached并不陌生。
今天,我主要说一下如果通过java代码操作memcached。
memcached当前使用的客户端主要有的com.danga.MemCached.*客户端,和xMemCached客户端。
根据二狗子的实际开发经验xmemcached的效率和速度明显快于dangajava客户端(现在我们公司也用的是xmemcached客户端),但是据说xmemcached不稳定,所以具体如何选择,就要看各位弟兄公司内部决策啦。现在我先把com.danga的客户端代码发上来一下下篇发送xmemcached客户端代码。闲话少说,二狗子这就把java代码黏贴上来(各位兄弟可以根据注释读代码)。
package test; import java.util.Date; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; /** * * @author 仔仔 * */ public class MemCachedManager { // 创建一个MemCachedClient客户端用来连接mc数据库 protected static MemCachedClient mcc = new MemCachedClient(); protected static MemCachedManager memCached = new MemCachedManager(); // 设置与缓存服务器的连接池 static { // 配置服务器ip和端口 String[] servers = { "10.0.16.122: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() { } /** * 获取实例入口. * @return */ public static MemCachedManager 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); } public boolean delete(String key) { return mcc.delete(key); } /** * 根据指定的关键字获取对象. * @param key * @return */ public Object get(String key) { return mcc.get(key); } public static void main(String[] args) { MemCachedManager mc = MemCachedManager.memCached;; mc.add("echo", "二狗子"); System.out.println("mc.get(echo)="+mc.get("echo")); mc.delete("users.id.26887"); } }
以上便是一个简单的连接池和几个简单的操作函数。实际项目中一般配置到properties文件然后通过spring配置文件构造连接的方法使用的,但是原理一样(这种调用后期我会下的,各位亲)。
需要说明的是,memcached可以存储对象,只要对象序列化后,可以把对象作为流存储到数据库内。这对实际开发用处十分大,比如说我们有一些官方帖子,访问比较频繁,如果存到mc中访问会很给力哦~哈。
今天就说到这里吧。希望我的小代码对各位亲有帮助。
最后说一句壮烈的话,写自己的对象,让别人谈恋爱去吧~~哈哈
相关推荐
JAVA 客户端调用 memcached分布式的高速缓存系统
通过这样的集成,Oracle可以在需要时通过Java调用Memcached,将频繁查询的数据存储在内存中,提高响应速度,同时减轻了对数据库的读写压力。这种架构在大型、高并发的Web应用中尤其有用,能够显著提升用户体验。 ...
在本例中,我们关注的是`java_memcached-release_2.5.1.jar`这个文件,这是一个包含了Java Memcached客户端库的JAR(Java Archive)包,版本号为2.5.1。 Java Memcached客户端库由Danga Interactive开发,该公司是...
`Memcached.java` 文件很可能是包含Java客户端调用memcached示例代码的源文件,你可以打开这个文件查看具体的实现细节。它通常会包含上述步骤中的函数调用,比如设置、获取、删除键值对等操作。 ### 四、`memcache...
- **连接与断开**:客户端通过创建连接对象(如 PHP 中的 `new Memcache`)来连接 Memcached 服务端,然后可以调用 `connect` 方法。完成操作后,使用 `close` 断开连接。 - **数据操作**:客户端提供 `get`、`set`...
Java调用Memcached是将Java应用程序与分布式内存缓存系统Memcached进行交互的过程。Memcached是一种高性能、轻量级的缓存服务,常用于减轻数据库负载,提高网站或应用的响应速度。在Java中,我们可以使用各种客户端...
Java开发者可以将这些jar文件添加到项目的类路径中,以便调用Memcached的相关API。 在“java_memcached-release_1.6”这个压缩包子文件的文件名称列表中,我们通常会看到以下内容: 1. 源代码文件夹(src目录),...
在Java Memcached客户端中,它用于管理连接池,即高效地重复使用已经创建的对象,而不是每次需要时都创建新的对象,这可以显著提高性能并减少系统资源的消耗。 2. **java_memcached-release_2.6.3.jar**:这是Java ...
使用Java Memcached驱动包的基本步骤通常包括:导入`mem-java.jar`库,创建Memcached客户端实例,配置服务器列表,然后调用相应接口进行数据操作。同时,可以结合`mem-doc`中的文档来获取详细的使用指南和API说明。 ...
1. **下载与安装**:这个包是Memcached客户端的一个特定版本,可以通过解压`memcached-1.4.12.tar.gz`来获取源代码,然后在Linux环境下编译安装。 2. **API支持**:包含C,C++,Python,PHP,Java,Perl等语言的...
3. 使用Memcached服务:在需要使用缓存的地方,通过单例类获取到Memcached客户端实例,然后调用其提供的方法进行操作,如设置、获取、删除缓存项。 ```csharp var value = MemcachedSingleton.Instance.Get("key");...
本篇文章将重点介绍其中的一种——Enyim.Caching,并探讨其与其他Java调用Memcached示例的互通性。 首先,Enyim.Caching是.NET社区中广泛使用的Memcached客户端库,它提供了全面的功能,包括连接管理、序列化、操作...
// 创建Memcached客户端连接 MemcachedClient client = new MemcachedClient( new ConnectionFactoryBuilder().setProtocol(DefaultConnectionFactory.Protocol.BINARY) .build(), AddrUtil.getAddresses(...
标题 "spring调用memcached client for java" 涉及的是如何在Java应用程序中,特别是Spring框架下,集成和使用Memcached作为缓存系统。Memcached是一个高性能的分布式内存对象缓存系统,常用于减轻数据库负载,提升...
Java Memcached客户端是为Java开发者提供的一种与Memcached服务器交互的库,允许在Java应用程序中方便地存储和检索数据。 在`java_memcached-release_2.5.2.zip`这个压缩包中,包含了以下组件和资源,帮助我们理解...
memcached的java客户端jar包,方便调用memcached的服务
Java Memcached2是一款基于Java实现的Memcached客户端库,它提供了与Memcached服务器通信的能力,以便在分布式环境中利用Memcached的高效缓存功能。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻...
2. **Java中的Memcached客户端库** 在Java中,我们可以使用各种客户端库与Memcached通信,如Spymemcached、Xmemcached、MemcachedClient等。这些库提供了方便的方法来操作Memcached服务器,包括设置、获取、删除和...
**标题解析:** "memcached-impl:java调用memcached实现" 指的是一个项目或教程,它展示了如何在Java应用程序中使用memcached,一个高性能、分布式内存对象缓存系统。 **描述分析:** 描述中的 "#memcached-impl" ...
在J2EE项目中,通常使用Java的Memcached客户端库(如spymemcached或xmemcached)来与Memcached服务器交互。以下是一般步骤: 1. 添加客户端库依赖:在项目的Maven或Gradle配置文件中引入对应的Memcached客户端库。 ...