Memcached的Java客户端API之SockIOPool

                   Memcached的Java客户端API之SockIOPool

SockIOPool

public static SockIOPool getInstance()

获得连接池的单例方法。这个方法有一个重载方法getInstance( String poolName ),每个poolName只构造一个SockIOPool实例。缺省构造的poolName是default。 如果在客户端配置多个memcached服务,一定要显式声明poolName。

public void setServers(String[] servers)

设置连接池可用的cache服务器列表,server的构成形式是IP:PORT(如:127.0.0.1:1111)。

public void setWeights(Integer[] weights)

设置连接池可用cache服务器的权重,和server数组的位置一一对应。其实现方法是通过根据每个权重在连接池的bucket中放置同样数目的server,因此所有权重的最大公约数应该是1,不然会引起bucket资源的浪费。

public void setInitConn(int initConn)

设置开始时每个cache服务器的可用连接数。

public void setMinConn(int minConn)

设置每个服务器最少可用连接数。

public void setMaxConn(int maxConn)

设置每个服务器最大可用连接数。

public void setMaxIdle(long maxIdle)

设置可用连接池的最长等待时间。

public void setMaintSleep(long maintSleep)

设置连接池维护线程的睡眠时间 ,设置为0,维护线程不启动。维护线程主要通过log输出socket的运行状况,监测连接数目及空闲等待时间等参数以控制连接创建和关闭。

public void setNagle(boolean nagle)

设置是否使用Nagle算法,因为我们的通讯数据量通常都比较大(相对TCP控制数据)而且要求响应及时,因此该值需要设置为false(默认是true)。

public void setSocketTO(int socketTO)

设置socket的读取等待超时值。

public void setSocketConnectTO(int socketConnectTO)

设置socket的连接等待超时值。

public void setAliveCheck(boolean aliveCheck)

设置连接心跳监测开关。 设为true则每次通信都要进行连接是否有效的监测,造成通信次数倍增,加大网络负载,因此该参数应该在对HighAvailability(高可用性)要求比较高的场合设为TRUE,默认状态是false。

public void setFailback(boolean failback)

设置连接失败恢复开关 ,设置为TRUE,当宕机的服务器启动或中断的网络连接后,这个socket连接还可继续使用,否则将不再使用,默认状态是true,建议保持默认。

public void setFailover(boolean failover)

设置容错开关,设置为TRUE,当前socket不可用时,程序会自动查找可用连接并返回,否则返回NULL,默认状态是true,建议保持默认。

public void setHashingAlg(int alg)

  1. alg=0 使用String.hashCode()获得hash code,该方法依赖JDK,可能和其他客户端不兼容,建议不使用
  2. alg=1 使用original 兼容hash算法,兼容其他客户端
  3. alg=2 使用CRC32兼容hash算法,兼容其他客户端,性能优于original算法
  4. alg=3 使用MD5 hash算法

设置hash算法,采用前三种hash算法的时候,查找cache服务器使用余数方法。采用最后一种hash算法查找cache服务时使用一致性hash方法。

public void initialize()

设置完pool参数后最后调用该方法,启动pool。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值