`
yale
  • 浏览: 360159 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Memcached缓存客户端连接池设计

 
阅读更多

设计的目的就是为了解决资源的申请和释放的开销增加系统压力的问题,将资源通过池的方式回收重用,有利于系统性能的提高。memcached cache client 其实是通过socket来和服务端进行通信,建立socket连接也是比较消耗时间的工作,因此设计配置池的初始连接数(initConn),最小连接数(minConn),最大连接数(maxConn)。这三者关系如下图,维护他们之间状态转移的就是后台线程。


后台进程维护资源池的作用就是将有限资源回收,例如数据库连接,如果一台oracle只有500个连接数可以支持,那么如果一个应用都占用了50个闲置,那对于其他需要资源的应用来说无疑是一种浪费。但如果配置了资源管理,但由于应用属于忙时和闲时交替比较频繁的情况,那么如果时间配置的不是很合适,就会达不到原来资源池的作用,资源反复回收和申请。所以对于这个参数的配置,个人觉得一定要配,配置的值需要注意,初始化和最小的值可以是自己预估平时平均并发处理的均值,最大的连接数当然依赖于资源的总数,而维护时间间隔则最好是能够根据闲时和忙时的情况来考虑配置,这样既不会浪费资源,同时也不会使资源池时效。

 

分享到:
评论

相关推荐

    memcached客户端(三种客户端)

    它还提供了丰富的特性,如支持完整的协议、客户端分布、节点权重设置、动态增删节点、JMX支持、Spring和Hibernate-memcached集成、连接池功能以及良好的可扩展性。 **推荐与建议** 考虑到官方客户端的新版本在性能...

    Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用

    gwhalin的Memcached Java客户端是一个高效且易于使用的Java API,它提供了丰富的功能,包括连接池管理、自动重连、命令执行等。这个客户端库不仅支持基本的get、set、delete操作,还支持事务处理、过期时间设置等...

    memcached缓存数据库jar包

    **memcached缓存数据库jar包** `memcached`是一种高性能、分布式内存对象缓存系统,它广泛用于减轻数据库负载,提高Web应用的响应速度。它通过在内存中存储数据,提供快速的数据访问,从而减少了对数据库的直接访问...

    MemCached Provider客户端

    同时,它的配置选项也更加灵活,允许设置连接池大小、超时时间、序列化方式等参数,以适应不同的应用场景。 4. **性能优化**: 为了提高性能,`MemcachedProviders` 可能会采用诸如预热(warm-up)策略,即在应用...

    go语言memcached客户端.zip

    1. **连接管理**:Go Memcached客户端库通常会提供连接池管理,确保多个并发请求能够高效地复用已建立的TCP连接,减少网络延迟。 2. **命令构建**:客户端需要支持Memcached的多种命令,如`GET`、`SET`、`DELETE`、...

    memcached客户端所需jar包

    同时,优化连接池配置、合理设置缓存策略以及监控Memcached的性能都是确保应用高效运行的重要步骤。 最后,需要注意的是,虽然Memcached提供了快速的数据缓存解决方案,但它的持久性较差,一旦服务重启,所有缓存...

    缓存全面剖析.pdf及安装文件、缓存客户端、源码

    4. **最佳实践**:如并发控制、连接池管理,以及如何有效地利用缓存客户端来提升应用性能。 通过学习和实践这个资料包中的内容,无论是对缓存的基本原理还是对Memcached的深入理解,你都将获得宝贵的知识和技能,有...

    java_memcached-release_2.6.3.rar 客户端所有包

    - `commons-pool-1.5.5.jar`:Apache Commons Pool是对象池设计模式的实现,用于高效管理可重用资源,如数据库连接池中的连接。 - `java_memcached-release_2.6.3.jar`:这是Java Memcached客户端的主要库,包含...

    memcached客户端

    Memcached客户端是分布式内存缓存系统Memcached与应用程序交互的重要组成部分。这个系统广泛应用于Web开发,用于减轻数据库负载,提高网站性能。Memcached通过在内存中存储数据,提供快速的数据访问,尤其适用于处理...

    基于mina的一个Memcached客户端首发

    5. **错误处理和性能优化**:包括超时机制、重试策略、连接池管理以及如何通过MINA的事件模型来优化性能。 6. **测试与部署**:介绍如何编写单元测试以验证客户端功能,以及在实际环境中的部署策略。 标签“源码”...

    .net memcached 分布式缓存应用类库

    1. **连接管理**: 自动处理与Memcached服务器的连接建立和断开,支持多种连接池策略。 2. **序列化**: 内置了多种序列化方式,如BinaryFormatter、Json.NET等,可以将.NET对象转换为可以在Memcached中存储的字节流。...

    数据平台缓存技术方案Memcached-Redis[汇编].pdf

    支持节点的权重设置,支持 nio 的连接池,网络实现层是长连接形式,无需重复创建多个 Client 连接。 Memcached 是一个高性能的分布式内存缓存服务器,能够减少数据库访问次数,提高动态 Web 应用的速度和扩展性。...

    java_memcached-release_2.0.1.zip

    Java Memcached 2.0.1 是一个针对Java平台的Memcached客户端库,它使得Java开发者能够方便地与Memcached缓存系统进行交互。Memcached是一个高性能、分布式内存对象缓存系统,广泛用于减轻数据库负载,提高Web应用的...

    java_memcached-release_2.5.1.jar Memcache java jar 包

    Java Memcached是一个流行的Java客户端库,用于与Memcached缓存系统进行交互。Memcached是一种分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用的性能。在本例中,我们关注的是`java_memcached-release_...

    Memcached客户端手册

    # Memcached客户端手册知识点详解 ## 一、Memcached简介与使用入门 ### 1.1 Memcached概述 Memcached是一种高性能的分布式内存对象缓存系统,用于减轻数据库负载,加速动态Web应用,提高网站访问速度。其通过缓存...

    java_memcached-release_2.6.6.jar及其依赖包

    Java Memcached是一个基于Java的Memcached客户端库,用于在Java应用程序中与Memcached缓存系统进行交互。在标题和描述中提到的`java_memcached-release_2.6.6.jar`是这个库的特定版本,它包含了实现Memcached协议并...

    tomcat、memcached连接包

    "Tomcat、Memcached连接包"指的是用于在Apache Tomcat服务器上建立与Memcached缓存系统之间连接的软件包。这个连接包通常包含必要的Java库(JAR文件),使得Tomcat应用程序能够利用Memcached的服务,提高数据访问...

    memcached工具类源码

    - **Memcached客户端连接器**:初始化和管理到Memcached服务器的连接,如建立Socket连接,处理心跳机制,保持会话活跃。 - **Key-Value操作接口**:封装了基本的set、get、delete等操作,供应用层调用。 - **配置...

Global site tag (gtag.js) - Google Analytics