gpt4 book ai didi

scala - 强制Redis超时

转载 作者:可可西里 更新时间:2023-11-01 11:13:36 26 4
gpt4 key购买 nike

我试图强制我的 redis 客户端超时以进行测试,但我未能实现。我在我的配置中将超时指定为 2 毫秒,而我执行的设置操作需要 > 2 毫秒,那么为什么它不会超时?这些设置是软设置而不是硬执行吗?我在 Play 2.2.3 中使用 Jedis 2.6 和 Scala 2.10

@Singleton
class RedisClient extends Cache {

// set timeout
val TIMEOUT = 2
private val pool = new JedisPool(new JedisPoolConfig(), getStringFromConfig("redis.url"), getIntFromConfig("redis.port"), TIMEOUT);

def isOpen = pool.getNumActive()

def set(key: String, value: String) = {
isOpen match {
case -1 => throw new Exception("Redis server is not running")
case _ => {
val jedis = pool.getResource()
val before = Platform.currentTime
jedis.set(key, value)
println("TIME TAKEN " + (Platform.currentTime - before))
pool.returnResource(jedis)
}
}
}
}

最佳答案

其实你不需要测试它,但你可能会在Jedis sources中找到答案。 .使用的超时值:

  • 作为 java 套接字连接超时
  • 作为SO_TIMEOUT值(value)。更多相关信息 here .

为了在测试中实现目标:

  • Redis 服务器在测试期间应该负载很重,以不接受连接。如果你需要连接超时。
  • 尝试使用一些代理来降低连接性能(根据 SO_TIMEOUT 值超时)。

关于scala - 强制Redis超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26742810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com