dje*_*lin 11 java memcached spymemcached
我正在使用的API,spymemcached,基本上给出了
MemcachedClient memc = new MemCachedClient(new InetSocketAddress("host", port));
Run Code Online (Sandbox Code Playgroud)
它并没有真正给我一个connect()或isConnected()功能.API提供了一个DefaultConnectionFactory但最初看一下它看起来不像管理连接池的代码.有没有人知道如何在spymemcached或另一个Java memcached库中执行此操作?
更一般地说 - 使我的应用程序能够容忍丢失连接的最"道德"方法是什么?
mik*_*ied 17
当您调用MemcachedClient构造函数时,它会自动连接到您的memcached服务器.没有connect()或isConnected()方法.如果您失去与Spymemcached的连接,它将尝试为您重新连接.此外,它还DefaultConnectionFactory用于指定特殊连接属性(例如散列方法和故障模式).如果要使用连接工厂,则需要使用MemcachedClient带a ConnectionFactory和a 的构造函数List<InetSocketAddress>.
Spymemcached使用单个IO线程,但就像一个多线程客户端.例如,使用一个线程,您每秒最多可以执行50k操作.如果要创建线程池,则必须在用户应用程序中执行此操作.
更一般地说 - 使我的应用程序能够容忍丢失连接的最"道德"方法是什么?
就像我上面提到的,如果Spymemcached失去与服务器的连接,它将尝试重新连接.此过程通常需要大约17毫秒.但是,大多数使用客户端的人都会在其应用程序代码中创建一个线程池.