大致步骤:
1、创建一个SockIOPool 实例对象。
2、初始化一些值并与MemcachedServer段建立连接。
3、创建MemCachedClient实例对象。
4、通过MemCachedClient的set方法将值放到缓存。
5、通过MemCachedClient的get方法将值从缓存中取出来。
问题:
1、SockIOPool 是怎样与MemcachedServer建立连接的?看过源码,找不到,也没有判断SockIOPool 中保存的ip是否合法或者是否有装缓存等。
2、SockIOPool 与MemcachedServer建立连接后,MemCachedClient做完相关的get、set操作,需要将这个链接释放吗?
例子:
package mmc;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class Test {
protected static MemCachedClient mcc = new MemCachedClient();
static {
//创建一个实例对象SockIOPool
SockIOPool pool = SockIOPool.getInstance();
if(!pool.isInitialized())
{
//设置服务器信息
String[] servers ={"192.168.1.18:12000"};
//设置权重
Integer[] weights = { 3 };
// set the servers and the weights
//设置Memcached Server
pool.setServers( servers );
pool.setWeights( weights );
// set some basic pool settings
// 5 initial, 5 min, and 250 max conns
// and set the max idle time for a conn
// to 6 hours
//设置初始连接数、最小和最大连接数
pool.setInitConn( 5 );
pool.setMinConn( 5 );
pool.setMaxConn( 250 );
pool.setMaxIdle( 1000 * 60 * 60 * 6 );
// set the sleep for the maint thread
// it will wake up every x seconds and
// maintain the pool size
pool.setMaintSleep( 30 );
// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机
// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,
// 以至这个包准备好了就发;
pool.setNagle( false );
//连接建立后对超时的控制
pool.setSocketTO( 3000 );
//连接建立时对超时的控制
pool.setSocketConnectTO( 0 );
// initialize the connection pool
//初始化一些值并与MemcachedServer段建立连接
pool.initialize();
}
// lets set some compression on for the client
// compress anything larger than 64k
mcc.setCompressEnable( true );
mcc.setCompressThreshold( 64 * 1024 );
}
public static void bulidCache(){
//set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long date) 中参数date,需要是个大于或等于1000的值。
//因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果 小于1000的值,除以1000以后都是0,即永不过期
mcc.set( "test", "This is a test String" ,new Date(999));
//十秒后过期
}
public static void output() {
//从cache里取值
String value = (String) mcc.get( "test" );
System.out.println(value);
}
public static void main(String[] args){
System.out.println("bulidCache();");
//bulidCache();
output();
}
}
分享到:
相关推荐
【标题】"nginx+tomcat+memcached例子"揭示了一个集成Web服务器技术的场景,其中Nginx作为前端代理服务器,Tomcat作为后端Java应用服务器,而Memcached则作为一个分布式内存缓存系统来提高整体性能。这个组合常用于...
在这个例子中,我们将使用spymemcached,因为它相对轻量级且易于使用。 3. **集成spymemcached** - 添加spymemcached依赖到你的项目。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
学习并实践这些测试例子,可以帮助C#开发者熟练掌握使用Memcached进行缓存管理的技巧,提高应用的响应速度和整体性能。同时,对于分布式系统的设计和优化也有一定的指导意义。因此,这个压缩包对于正在或者计划使用...
在这个例子中,我们首先创建了一个连接到本地 Memcached 服务器的客户端,然后设置了键为 "test_key",值为 "Hello, Memcached!" 的缓存条目。最后,我们通过键获取并打印了缓存值。 ### 四、清除缓存 要删除特定...
"memcached for java client 例子" 指的是一个使用Java语言编写的客户端库,用于与memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的响应速度。 **...
**Java实现Memcached小例子详解** Memcached是一种高性能的分布式内存对象缓存系统,它能够将数据存储在内存中,从而提高应用程序的响应速度。在Java中,我们可以使用各种库来与Memcached进行交互,例如...
Memcached是一种高性能、分布式内存对象缓存系统,用于在分布式计算环境中存储临时数据,从而减少对数据库的访问,提高应用程序的性能。它被广泛应用于Web应用中,通过将常用数据缓存在内存中,来减少数据库的负载,...
在这个例子中,我们首先导入memcache模块,然后创建一个连接到本地Memcached服务器(默认端口11211)的客户端。接着,我们使用`set`方法存储键值对,最后使用`get`方法检索数据。 总的来说,Python-memcached库是...
在这个例子中,我们创建了一个名为`MemcachedExample`的类,并实现了两个基本的方法:`set`用于设置键值对,`get`用于获取存储的值。 #### 四、监控与维护 ##### 4.1 监控 为了监控Memcached的运行状态,可以使用...
这个例子展示了如何创建一个`Memcached`对象,连接到本地的Memcached服务器,存储一个键值对,然后取出这个值。实际应用中,你可以根据需要存储和检索更复杂的数据结构,如数组或对象。 **优化和维护** 为了确保...
7. **案例研究**:通过实际例子演示memcached在实际应用中的配置和使用。 通过这两个文件的学习,可以深入理解memcached的内部工作机制,为优化和自定义memcached提供理论基础,或者帮助开发者在类似项目中应用...
在这个例子中,我们有一个名为`memcacheclient`的压缩包,它可能包含了编译好的Memcached客户端库。解压缩文件后,你会找到一个.sln解决方案文件,这是一个Visual Studio项目文件。 1. **打开Visual Studio项目**:...
以下是如何存储字符串的例子: ```java String key = "myKey"; String value = "myValue"; client.set(key, 60, value); // 60秒过期时间 ``` 3. 获取数据: ```java String retrievedValue = (String) ...
标题“memcached和java关联的一些网上例子”表明了本文将探讨如何在Java编程环境中集成和使用memcached,一个流行的分布式内存对象缓存系统。这个标题适用于初学者,意味着我们将讨论基本的概念、配置以及通过Java...
下面从一个实际的例子来应用memcached。 首先到http://danga.com/memcached/下载memcached的windows版本和java客户端jar包,目前最新版本是memcached-1.2.1-win32.zip和java_memcached-release_1.6.zip,分别解压后...
在例子中,使用的版本是libevent-1.3,但应选择与当前系统兼容的最新版本。 下载完成后,遵循以下步骤进行安装: 1. 安装libevent: - 解压缩下载的libevent源代码包:`# tar zxvf libevent-1.3.tar.gz` - 进入...
1安装Memcached所需的文件;...3.运用Memcached的例子(需先按步骤把环境搭了,例子是vs2010环境下的,各位自行研究其方法);4.简单介绍Memcached的ppt。(其中例子和ppt是我们项目组内部培训用的,写的比较简单)
**memcached** 是一款高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用性能。在Linux系统上安装和配置memcached,并通过Java客户端进行调用是常见的操作流程,下面将详细介绍这一过程。 ### 一...
在这个例子中,`@Cacheable`注解使得每次调用`getOrganization`时,如果缓存中存在对应`id`的组织,则直接返回缓存值,否则查询数据库并存入缓存。`@CacheEvict`注解则会在调用`deleteOrganization`方法时,清除对应...
在这个例子中,我们看到压缩包中包含了以下文件: 1. log4net.dll - 这是Apache的log4net日志框架,用于记录应用程序运行时的信息,帮助调试和跟踪代码。 2. ICSharpCode.SharpZipLib.dll - 这是SharpZipLib库,...