Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Memcached错误:对等方重置断开的管道/连接_Java_Linux_Memcached_Ubuntu 16.04 - Fatal编程技术网

Java Memcached错误:对等方重置断开的管道/连接

Java Memcached错误:对等方重置断开的管道/连接,java,linux,memcached,ubuntu-16.04,Java,Linux,Memcached,Ubuntu 16.04,当我使用Java MemcachedClient(com.whalin.MemCached)设置庞大的数据时,会出现断管&连接被对等方重置的错误 这是我的配置文件。[/etc/memcached.conf] # memcached default config file # 2003 - Jay Bonci <jaybonci@debian.org> # This configuration file is read by the start-memcached script pro

当我使用Java MemcachedClient(
com.whalin.MemCached
)设置庞大的数据时,会出现
断管
&
连接被对等方重置的错误

这是我的配置文件。[
/etc/memcached.conf
]

# memcached default config file
# 2003 - Jay Bonci <jaybonci@debian.org>
# This configuration file is read by the start-memcached script provided as
# part of the Debian GNU/Linux distribution.

# Run memcached as a daemon. This command is implied, and is not needed for the
# daemon to run. See the README.Debian that comes with this package for more
# information.
-d

# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log

# Be verbose
 -v

# Be even more verbose (print client commands as well)
 -vv

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 4096

# Default connection port is 11211
-p 11311

# Run the daemon as root. The start-memcached will default to running as root if no
# -u command is present in this config file
-u memcache

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1

# Limit the number of simultaneous incoming connections. The daemon default is 1024
# -c 1024

# Lock down all paged memory. Consult with the README and homepage before you do this
# -k

# Return error when memory is exhausted (rather than removing items)
# -M

# Maximize core file limit
# -r
FYI:从数据库读取50000条记录,添加到映射并将该映射存储到Memcache中

断管: 用户重置连接
我认为问题可能是您试图将非常大的对象存储到memcache

默认情况下,memcache允许设置最大1MB的对象。在较新版本的memcache中,您可以设置-I选项以将大小增加到最大128MB。()


不过我不推荐。最好创建更小的对象。

是的。我们试图存储的数据更多。我尝试了
-I
选项来设置128MB。但它仍在失败。当我们将整个表数据存储在一个键中时,如果表的大小更大,那么问题就来了。顺便说一下,根据我的测试,我能够将13K个对象(每行有5列)存储到一个键中。之后这个问题就来了。谢谢你的回复。为什么要将整个表存储在memcache中呢。如果您需要整个表,那么最好从数据库获取If。在大多数情况下,它是不需要的。在这种情况下,您可以将每一行单独存储在memcache中,以便快速检索。如果一次需要几行,请执行多重获取。
memcache  9304     1  0 11:26 ?        00:00:00 /usr/bin/memcached -v -vv -m 4096 -p 11311 -u memcache -l 127.0.0.1
java.io.IOException: Broken pipe
        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:471)
        at com.schooner.MemCached.SockOutputStream.writeToChannel(Unknown Source)
        at com.schooner.MemCached.SockOutputStream.write(Unknown Source)
        at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1877)
        at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1786)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1189)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
        at java.util.HashMap.internalWriteEntries(HashMap.java:1790)
        at java.util.HashMap.writeObject(HashMap.java:1363)
        at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1128)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
        at com.schooner.MemCached.ObjectTransCoder.encode(Unknown Source)
        at com.schooner.MemCached.AbstractTransCoder.encode(Unknown Source)
        at com.schooner.MemCached.AscIIClient.set(Unknown Source)
        at com.schooner.MemCached.AscIIClient.set(Unknown Source)
        at com.whalin.MemCached.MemCachedClient.set(Unknown Source)
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:471)
        at com.schooner.MemCached.SockOutputStream.writeToChannel(Unknown Source)
        at com.schooner.MemCached.SockOutputStream.write(Unknown Source)
        at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1877)
        at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1786)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1189)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
        at java.util.HashMap.internalWriteEntries(HashMap.java:1790)
        at java.util.HashMap.writeObject(HashMap.java:1363)
        at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1128)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
        at com.schooner.MemCached.ObjectTransCoder.encode(Unknown Source)
        at com.schooner.MemCached.AbstractTransCoder.encode(Unknown Source)
        at com.schooner.MemCached.AscIIClient.set(Unknown Source)
        at com.schooner.MemCached.AscIIClient.set(Unknown Source)
        at com.whalin.MemCached.MemCachedClient.set(Unknown Source)