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

Memcached缓存客户端连接池设计

 
阅读更多

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


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

 

分享到:
评论

相关推荐

    memcached1

    最近一直在做一个项目的前期设计工作,考虑到后期系统的扩展和性能问题也找了很多解决方法,有一个就是用到了数据库的缓存工具memcached(当然该工具并不仅仅局限于数据库的缓存)。先简单的介绍下什么是memcached。...

    memcached-lite:memcached-lite 是一个用于 Node.JS 的轻量级和快速的 memcached 客户端

    memcached-lite是一个用于 Node.JS 的轻量级和快速的memcached 客户端。 它的开发是由于一些痛点和替代方案。 它仍在积极开发中,而且还没有像这样的替代品那样成熟。 谨慎使用。 使用二进制 memcached 协议而不是 ...

    groupcache:groupcache是​​一个缓存和缓存填充库,在许多情况下都可以替代memcached

    groupcache是​​一个分布式缓存和缓存填充库,在许多情况下可用来替代内存缓存节点池。 有关API文档和示例,请参见 与memcached的比较 像memcached ,groupcache一样: 通过密钥分片以选择哪个对等方负责该密钥 ...

    django-redis:Django的全功能Redis缓存后端

    使用本机redis-py url表示法连接字符串可插拔客户端可插拔解析器可插拔串行器默认客户端中的主要/辅助支持全面的测试套件在多个项目的生产中用作缓存和会话存储支持无限超时原始访问Redis客户端/连接池的设施高度可...

    OSChina 所有jar

    2 c3p0-0.9.1.2.jar C3P0连接池 3 commons-beanutils-1.8.2.jar Bean工具包 4 commons-codec-1.4.jar 编码处理包,例如BASE64 5 commons-collections-3.2.1.jar 集合包,Velocity依赖 6 commons-dbutils-1.3.jar...

    groupcache_read:groupcache源码阅读

    groupcache是​​一个分布式缓存和缓存填充库,在许多情况下都可用来替代内存缓存节点池。 有关API文档和示例,请参见 与memcached的比较 像memcached ,groupcache一样: 通过密钥分片以选择哪个对等方负责该密钥...

    monitor源码java-JInsight::hot_beverage:开源Java代理透明地检测和监视JavaWeb应用程序

    连接池指标[X] C3PO,[X] HikraiCP NoSQL数据库[X]卡桑德拉,[X]蒙哥 URL连接指标[✓] java.net.HttpURLConnection,[✓] Apache HTTP客户端,[✓] Apache Aysnc HTTP客户端,[✓] OKHttp 构架[X]Spring,[X]...

    java开源包4

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包1

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    PHP应用开发框架yaf-lib.zip

    MemcacheSystem_Memcache类封装了Memcached的客户端接口::set 设置缓存::get 获取缓存::delete 删除缓存::flush 清空::increment 原子计数加::decrement 原子计数减System_RedisSystem_Redis类封装redis客户端驱动...

    java开源包11

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包2

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包3

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包6

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包5

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包10

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包8

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包7

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包9

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

    java开源包101

    支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 ...

Global site tag (gtag.js) - Google Analytics