2

我正在使用 com.whalin/Memcached-Java-Client 库版本 3.0.2。默认slab大小为1 MB,我使用-I命令启动memcached服务器- memcached -d -u nobody -m 4096 127.0.0.1 -p 11211 -I 5242880。Memcached 服务器版本为 1.4.26。我有一个遗留系统,我想将 memcached 平板大小增加到 5 MB。当我尝试在 memcached 中添加/设置超过 1 MB 的对象大小时,我遇到了异常

Dec 11, 2018 12:13:31 PM com.schooner.MemCached.BinaryClient set
SEVERE: ++++ exception thrown while writing bytes to server on set
Dec 11, 2018 12:13:31 PM com.schooner.MemCached.BinaryClient set
SEVERE: Connection reset by peer
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:51)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:466)
at com.schooner.MemCached.SockOutputStream.writeToChannel(Unknown Source)
at com.schooner.MemCached.SockOutputStream.write(Unknown Source)

我尝试将 TransCoder 设置为类似于 xmemcached 客户端,但 whalin 客户端有不同的实现。

实现 WhalinMemcachedJavaClient 示例:

    private static void implementWhalinMemcachedJavaClient() {
    String[] servers = { "127.0.0.1:11211" };
    SockIOPool sockIOPool = SockIOPool.getInstance("SanTest");

    sockIOPool.setMinConn(2);
    sockIOPool.setMaxConn(20);
    sockIOPool.setServers(servers);
    sockIOPool.setFailover(true);
    sockIOPool.setInitConn(30);
    sockIOPool.setMaintSleep(90);
    sockIOPool.setSocketTO(2000);
    sockIOPool.setAliveCheck(true);
    sockIOPool.setHashingAlg(SockIOPool.NATIVE_HASH);
    sockIOPool.initialize();

    MemCachedClient whalinClient = new MemCachedClient("SanTest", true);
    //MemCachedClient whalinClient = new MemCachedClient("SanTest");

    whalinClient.add("Result", "Success");

    System.out.println("get Result=" + whalinClient.get("Result"));
}

我想将平板大小增加到 5MB。请告知 whalin memcached 客户端中是否有任何选项可以将平板大小从 1 MB 增加到 5 MB。

4

0 回答 0