`
zybing
  • 浏览: 454110 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【memcached】SockIOPool和SchoonerSockIOPool关系

阅读更多

在memcached的java客户端中,

 

SockIOPool是对外服务的class,

SchoonerSockIOPool是真正保存缓存连接的class

 

对于这个2个对象,虽然构造函数都是protected的,但是使用方式却不同:

 

SockIOPool中:

public static synchronized SockIOPool getInstance(String poolName) {
	SockIOPool whalinSockIOPool = new SockIOPool();
	whalinSockIOPool.schoonerSockIOPool = SchoonerSockIOPool.getInstance(poolName);
	return whalinSockIOPool;
}
 

 

每次都是创建一个新的SockIOPool对象;

 

SchoonerSockIOPool.getInstance呢:

public static SchoonerSockIOPool getInstance(String poolName) {
	SchoonerSockIOPool pool;

	synchronized (pools) {
		if (!pools.containsKey(poolName)) {
			pool = new SchoonerSockIOPool(true);
			pools.putIfAbsent(poolName, pool);
		}
	}

	return pools.get(poolName);
}
 

pools是一个static的成员变量

private static ConcurrentMap<String, SchoonerSockIOPool> pools = new ConcurrentHashMap<String, SchoonerSockIOPool>();
 

 

因此如果poolName相同,无论创建了几个SockIOPool,SchoonerSockIOPool都是相同的;

而且同一个server(ip:port),tcp/udp的属性要是一致的,如果前后2次得到的tcp/udp属性不一致,后一次getInstance失败,得到的是null;

 

 

分享到:
评论

相关推荐

    Memcached 原理和使用详解

    Memcached是一款高效、轻量级的分布式内存缓存系统,...总之,Memcached是一个强大而高效的缓存工具,广泛应用于各种高流量网站和应用中,以提高性能和可扩展性。理解其原理和正确使用方法,对于优化Web应用至关重要。

    Memcached原理和使用详解

    文件详细描述了Memcached相关原理和使用方法,内容包括:Memcached原理介绍、Memcached安装和使用说明、Memcached使用的技巧等。

    memcached和redis比较

    Memcached和Redis是两种广泛使用的缓存解决方案,它们各有特点,在不同的场景下发挥着独特的作用。本文将详细比较这两种技术在可靠性、数据一致性、内存管理、内存使用率、应用场景、性能以及数据恢复等方面的不同之...

    memcached 64位 window

    解压后,用户通常需要按照安装指南进行编译和安装,设置配置文件,并通过命令行工具启动和管理Memcached服务。 **集成和使用** 在Windows上部署Memcached,需要关注以下关键点: 1. **安装**:解压文件并根据官方...

    Memcached安装和配置

    本文将详细介绍如何在Windows环境下安装和配置Memcached,并探讨其基本操作和状态查询。 首先,安装Memcached的步骤如下: 1. 访问 http://code.jellycan.com/memcached/ 下载适用于Windows的最新版本(例如1.2.6...

    memcached原理和使用详解

    资源名称:memcached原理和使用详解内容简介: Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库...

    memcached使用说明.doc

    对于小型或单服务器应用,没有分布式需求和数据共享需求的情况,使用 Memcached 可能会导致额外的系统开销,反而降低效率。 **四、安装步骤(Windows 环境)** 1. 下载 Memcached 的 Windows 稳定版,解压缩到指定...

    memcached安装软件 libevent magent memcached

    本篇文章将详细讲解如何安装和配置memcached,以及与之相关的libevent和magent。 首先,我们需要了解libevent库。libevent是一个事件通知库,它允许程序处理多个网络连接,并有效地处理来自不同源的事件。在安装...

    memcached和TTserver的使用

    【标题】: "深入理解memcached...综上所述,memcached和TTServer都是针对不同场景设计的高效存储解决方案,它们各有特点,适用于不同的数据处理需求。在选择使用时,应根据业务需求、数据类型和性能要求进行综合评估。

    memcached安装包以及MemCachedClient

    当在编译 Memcached 时,如果选择使用 libevent 模式,可以提高其性能和可扩展性。libevent 提供了一种方式来处理多个长时间运行的连接,而无需创建大量的线程或进程。 安装 libevent: ```bash sudo apt-get ...

    memcached-2.4.2.jar memcached-2.4.2.jar

    SockIOPool pool = SockIOPool.getInstance(); pool.setServers(servers); pool.setWeights(weights); pool.setInitConn(5); pool.setMinConn(5); pool.setMaxConn(250); pool.setMaxIdle(0x1499700L)...

    memcached-1.2.1-win32.zip 和 java_memcached-release_1.6.zip

    标题提及了两个压缩包文件:`memcached-1.2.1-win32.zip` 和 `java_memcached-release_1.6.zip`。这表明我们正在处理的是与Memcached相关的开发资源,一个是Windows上的Memcached服务器版本1.2.1,另一个是Java...

    memcached和activeMQ的JAVA示例代码

    标题"memcached和activeMQ的JAVA示例代码"表明这是一个关于使用Java编程语言实现的,针对memcached缓存系统和activeMQ消息中间件的示例项目。这通常是为了帮助开发者理解如何在实际应用中整合这两种技术。 描述中的...

    memcached windows稳定版

    在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...

    memcached服务器端memcached.exe 下载

    标签“memcached 服务器端 下载”明确了这是关于获取memcached服务端的资源,而且是下载操作,通常这包括了memcached服务器的运行文件和可能需要的客户端驱动(如PHP扩展)。 在压缩包中的`php_memcached.dll`和`...

    java使用memcached的实例

    &lt;bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" ...&gt; &lt;!-- 配置Memcached服务器列表 --&gt; &lt;value&gt;172.18.117.97:11211 &lt;!-- 连接池初始化连接数 --&gt; &lt;value&gt;20 &lt;!-- 最小...

Global site tag (gtag.js) - Google Analytics