关于redis的一些常见错误
2017-06-06 11:00
204 查看
今天在项目里报了一个这样的错
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
at redis.clients.jedis.Protocol.process(Protocol.java:79)
at redis.clients.jedis.Protocol.read(Protocol.java:131)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:162)
at redis.clients.jedis.Jedis.set(Jedis.java:51)
at com.rocky.test.TestConnect.main(TestConnect.java:81)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.net.SocketInputStream.read(SocketInputStream.java:107)
at redis.clients.util.RedisInputStream.fill(RedisInputStream.java:109)
at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:45)
at redis.clients.jedis.Protocol.process(Protocol.java:64)
... 4 more
从网上看了很多资料,最后总结出来就是:因为redis是单线程的,他自己每指定(10000)条数据发生改变就save一下,而在他save的时候我们的java程序一直在让他set,如果等待时间超过了我们设置的时间,他就会报这个错了。
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
at redis.clients.jedis.Protocol.process(Protocol.java:79)
at redis.clients.jedis.Protocol.read(Protocol.java:131)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:162)
at redis.clients.jedis.Jedis.set(Jedis.java:51)
at com.rocky.test.TestConnect.main(TestConnect.java:81)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.net.SocketInputStream.read(SocketInputStream.java:107)
at redis.clients.util.RedisInputStream.fill(RedisInputStream.java:109)
at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:45)
at redis.clients.jedis.Protocol.process(Protocol.java:64)
... 4 more
从网上看了很多资料,最后总结出来就是:因为redis是单线程的,他自己每指定(10000)条数据发生改变就save一下,而在他save的时候我们的java程序一直在让他set,如果等待时间超过了我们设置的时间,他就会报这个错了。
相关文章推荐
- 关于java socket 一些常见错误的解决办法
- 关于在eclipse上搭建Genymotion模拟器的一些常见错误心得
- 关于eclipse中一些常见的错误01
- 关于使用google的data binding library的一些常见错误
- 关于真机调试的一些常见错误
- 一些关于指针的常见错误
- 关于vc6.0中常见的因为工程设置project setting设置不对而造成连接错误的一些情况和解决方法(转)
- 关于LNK2001错误的一些总结
- 关于 MSDTC 分布式事务两个常见错误
- 关于《黑客反汇编揭密》一书中的一些错误
- 文摘:关于LNK2001错误的一些总结
- 访问 Oracle 数据库的 JDBC 中的一些最常见的错误
- 一些常见的面试的错误(做为面试人员的日常体验)
- 关于fso( FileSystemObject )的一些常见问题
- 关于ADO/VC error #3105 错误处理的一些建议
- 关于LNK2001错误的一些总结 (摘录) - David Hu - 网大博客 - powered by phpwind.net
- 使用***版软件中常见的一些错误代码
- 关于fso( FileSystemObject )的一些常见问题
- VC中常见的一些编译链接错误的解决(1)
- 关于LNK2001错误的一些总结