当前位置: 首页 > 面试题库 >

配置Jedis超时

袁康裕
2023-03-14
问题内容

我在完成时遇到问题.hgetall(),这是我尝试过的操作:

Jedis jedis = new Jedis(REDIS_MASTER_NODE);
jedis.connect();
jedis.configSet("timeout", "30");

Map<String, String> alreadyStored = jedis.hgetAll(redisTargetHash);

这就是我得到的:

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.getBinaryMultiBulkReply(Connection.java:199)
    at redis.clients.jedis.Jedis.hgetAll(Jedis.java:851)

这解决了问题:

Jedis jedis = new Jedis(REDIS_MASTER_NODE, 6379, 1800);

问题答案:

如果要设置Jedis connection timeout,则应使用为此专门设计的构造函数进行设置:

public Jedis(final String host, final int port, final int timeout)

您正在做的是从设置Redis设置的超时jedis。这样做CONFIG SET timeout 60,意味着redis将在60几秒钟后关闭空闲的客户端连接。这就是为什么您在Jedis中遇到例外的原因。



 类似资料:
  • 我正在尝试从spring boot 1.5.5迁移到spring boot 2。我将为您提供以下信息: 我想用绝地武士而不是莴苣来配置。按照文档中的建议,在导入spring starter redis数据时,我忽略了莴苣模块。 下面是尝试初始化JedisPool的代码。

  • 我在完成,以下是我尝试过的: 以下是我得到的: 这就解决了问题:

  • JTA事务意外回滚(可能是由于超时);嵌套的异常是 由于JPA,我得到了一个超时异常:如何增加事务所需的时间? 我应该在哪里包括参数来解决这个问题? 我用的是Tomcat7。

  • Jedis 是 Redis 官方首选的 Java 客户端开发包。 实例方法: import redis.clients.jedis.* Jedis jedis = new Jedis("localhost");jedis.set("foo", "bar");String value = jedis.get("foo"); 支持的特效: Sorting Connection handling Com

  • 问题内容: 如何在Spring Boot应用程序中配置(嵌入式)Tomcat会话超时? 我有一个SessionListener,但是我不知道必须在哪个类中将此Listener添加到Context中。 问题答案: 你应该能够在application.properties文件中进行设置。

  • 本文向大家介绍Spring集成jedis的配置与使用简单实例,包括了Spring集成jedis的配置与使用简单实例的使用技巧和注意事项,需要的朋友参考一下 jedis是redis的java客户端,spring将redis连接池作为一个bean配置。 redis连接池分为两种,一种是“redis.clients.jedis.ShardedJedisPool”,这是基于hash算法的一种分布式集群re